随笔分类 - 数据结构
摘要:冒泡排序: 百度百科:它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排
阅读全文
摘要:希尔排序: 百度百科:希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因D.L.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定
阅读全文
摘要:折半插入排序: 百度百科:折半插入排序(binary insertion sort)是对插入排序算法的一种改进,由于排序算法过程中,就是不断的依次将元素插入前面已排好序的序列中。由于前半部分为已排好序的数列,这样我们不用按顺序依次寻找插入点,可以采用折半查找的方法来加快寻找插入点的速度。 示例代码:
阅读全文
摘要:直接插入排序思想: 直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增1的有序表。 步骤: L[ ]表示一个表,L()表示一个元素 1>查找出L(i)在L[1.....i-1]中的插入位置k
阅读全文
摘要:数据结构之基本数据结构 队列:先入先出 百度百科: 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样, 队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。 1.自定义队列实现: 代码展示:
阅读全文
摘要:数据结构之基本数据结构 栈:先入后出 百度百科: 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。 向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素
阅读全文