1.插入排序—直接插入排序(Straight Insertion Sort)基本思想:将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。要点:设立哨兵,作为临时存储和判断数组边界...
分类:
编程语言 时间:
2015-05-29 06:06:08
阅读次数:
209
归并排序是建立在归并操作上的一种有效的排序算法,时间复杂度是O(nlogn)。它过程为:比较a[i]和a[j]的大小,若a[i]≤a[j],则将第一个有序表中的元素a[i]复制到r[k]中,并令i和k分别加上1;否则将第二个有序表中的元素a[j]复制到r[k]中,并令j和k分别加上1,如此循环下去,...
分类:
编程语言 时间:
2015-05-28 00:29:03
阅读次数:
214
每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。第一趟比较前两个数,然后把第二个数按大小插入到有序表中;第二趟把第三个数据与前两个数从前向后扫描,把第三个数按大小插入到有序表中;依次进行n-1趟扫描后就完成了整个排序过程 1 #include 2 #include 3.....
分类:
编程语言 时间:
2015-05-27 22:25:20
阅读次数:
159
直接插入排序(Straight Insertion Sort)基本思想:将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。二分插入排序基本思想:在插入第i个元素时,对前面的0~i...
分类:
编程语言 时间:
2015-05-27 00:43:42
阅读次数:
171
昨天说了快速排序,今天来讲一讲归并排序:什么是归并?归并:将两个或两个以上的有序表组合成一个新有序表。归并操作的步骤:
申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列
设定两个指针,最初位置分别为两个已经排序序列的起始位置
比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置
重复步骤3直到某一指针超出序列尾
将另一序列剩下的所有元素直接复制到合并序列...
分类:
编程语言 时间:
2015-05-26 16:16:06
阅读次数:
165
归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并过程为:比较a[i]和a[j]的大小,...
分类:
编程语言 时间:
2015-05-14 16:22:10
阅读次数:
120
归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。算法描述归并操作的过程如下:申请空间,使其...
分类:
编程语言 时间:
2015-05-13 18:39:52
阅读次数:
144
什么是归并排序?归并排序:建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。主要思想为:将已有序的子序列合并,得到完全有序的序列。简单来说:就是将待排序序列分为若干个最小子序列(子序列长度为1或2),先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并排序过程图如下:算法思想正如我们所知,最普通...
分类:
编程语言 时间:
2015-05-12 13:44:59
阅读次数:
145
该文章是关于数据结构部分排序的总结,包括各种排序方法的时间和空间复杂度的分析,主要从直接插入、交换(冒泡、快速)、选择(直接选择、堆排序)和归并四类来分析。
直接插入:
依次将每个记录插入到一个已排好序的有序表中,从而得到一个新的、记录数增加1的有序表。具体:插入第i个记录时,前i-1已经排好序,此时将第i个记录的关键字和第i-1,i-2比较,从而找到插入位置插入位置及其后记录...
分类:
编程语言 时间:
2015-05-11 20:12:34
阅读次数:
218
相关有关索引碎片的问题,大家应该是听过不少,也许也很多的朋友已经做了与之相关的工作。那我们今天就来看看这个问题。为了更好的说明这个问题,我们首先来普及一些背景知识。知识普及我们都知道,数据库中的每一个表要么是堆表,要么就是包含聚集索引的表,或者我们称之为有序表。如果表是一个堆表,那么在使用非聚集索引...
分类:
数据库 时间:
2015-05-11 17:50:34
阅读次数:
201