1 / 5
文档名称:

排序算法总结.docx

格式:docx   大小:304KB   页数:5页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

排序算法总结.docx

上传人:cjc201601 2021/7/19 文件大小:304 KB

下载得到文件列表

排序算法总结.docx

文档介绍

文档介绍:直接插入排序:
每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。
;第二趟把第三个
第一趟比较前两个数,然后把第二个数按大小插入到有序表中
数据与前两个数从后向前扫描,把第三个数按大小插入到有序表中;依次进行下去,
进行了(n-1)趟扫描以后就完成了整个排序过程。
9, 3,
3, 9,
3, 5,
1, 3,
1, 3,
1,2, 1,2, 1,2,
2 ,希
5, 1, 6, 2,
5, 1, 6, 2,
9, 1, 6, 2,
5, 9, 6, 2,
5, 6, 9, 2,
3, 5, 6, 9,
3, 5, 6, 8,
3, 4, 5, 6,
3, 4, 5, 6,
8, 4
8,'
8, 4
8, 4
8,,
8, 4
直接插入排序属于稳定的排序,时间复杂性为 o(nA2),空间复杂度为 0(1) o
得到:2, 3, 4, 1
6, 8, 5, 7, 9
取增量为3
则分为三个组 (2,
得至U : 1 , 3, 4, 2,
面。即首先比较第
1个和第2个数,将小数放前,大数放后。然后比
尔排序•
d1个组。所
先取一个小于 n的整数d1作为第一个增量,把文件的全部记录分成
有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量
d2Vdi重复上述的分组和排序,直至所取的增量dt=1(dtvdt・lv・・vd2vd1),即所有记录放在同一组中进 行直接插入排序为止。
取增量为5
则分为五个组(9 , 2) ( 3 , 8) ( 5 , 4) ( 1 , 7) ( 6),对这些分组内部进行插入排序,
官量=5对同一颜色进行内部插入排序
sM= 3
sM= 1
1 , 5) (3, 6, 7) ( 4, 8 , 9)
6, 8, 5, 7 , 9
冒泡排序:
冒泡排序(BubbleSort )的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后
较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大
数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第 2
个数和第3个数的交换,使得第 1个数不再小于第2个数),将小数放前,大数放后,
一直比较到最大数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一 个新的最大数。如此下去,直至最终完成排序。
9, 3, 5, 1 , 6,
3, 5, 1 , 6, 2,
8, 4, 7
8, 4,乙 9
1 , 5, 2 , 6, 1, 3, 2, 5, 4, 1,2,3, 4, 5, 1,2,3, 4, 5, 1,2,3, 4, 5, 1,2,3, 4, 5,
7, 8, 9
6, 7, 8, 9
6, 7, 8, 9
6, 7, 8, 9
6, 7, 8, 9
6, 7, 8, 9
快速排序:
设要排序的数组是 A[0]……A[N-1],首先任意选取一个数据 (通常选用第一个数
据)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程 称为一趟快速排序。一趟快速排序的算法是:
1 )