- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十章 内部排序
排序
3 10 5 78 36
3 5 10 36 78
稳定排序 与 不稳定排序
假设 Ki = Kj ,且排序前序列中 Ri 领先于 Rj ;
若在排序后的序列中 Ri 仍领先于 Rj ,则称排序方法是稳定的。若在排序后的序列中 Rj 领先于 Ri ,则称排序方法是不稳定的。
例,序列
3
15
8
8
6
9
若排序后得
3
6
8
8
9
15 稳定的
若排序后得
3
6
8
8
9
15 不稳定的
内部排序 与 外部排序
内部排序: 指的是待排序记录存放在计算机内存中进行的排序过程。
外部排序: 指的是待排序记录的数量很大,以致内存一次不能容纳全部记录,在排序过程中尚需对外存进行访问的排序过程。
内部排序
按照排序过程中所依据的原则的不同可以分类为:
插入排序
交换排序(快速排序)
选择排序
归并排序
基数排序
二叉排序树排序
插入排序
直接插入排序
思想: 利用有序表的插入操作进行排序
有序表的插入: 将一个记录插入到已排好序的有序表中,从而得到一个新的有序表。例,序列 13 27 38 65 76 97
插入 49
13 27 38 49 65 76 97
算法描述:
初始,令第 1 个元素作为初始有序表;
依次插入第 2 , 3 , …,个k元素构造新的有序表;直至最后一个元素;
例,序列 49 38 65 97 76 13 27
初始,S = { 49 } ;
{ 13 27 38 49 65 76 97 }
希尔(shell)排序分析直接插入排序
若待排序记录序列按关键字基本有序,则排序效率可大大提高;
待排序记录总数越少,排序效率越高; 思想:
先将待排序记录序列分割成为若干子序列分别进行直接插入排序; 待整个序列中的记录基本有序后,再全体进行一次直接插入排序。
例,序列 49 38 65 97 76 13 27 48 55 4 19
第一趟排序
d=5
49 13
38
65
97
76
13 27 48 55 4 19 38 65 97 76 49
13 27 48 55 4 19 38 65 97 76 49
第二趟排序
d=3
13
55
38
27
4
48
19
13 4 19 38 27 48 55 49 97 76 65
第三趟排序
d=1
4 13 19 27 38 48 49 55 65 76 97
交换排序
冒泡排序
思想: 通过不断比较相邻元素大小,进行交换来实现排序。第一趟排序:
首先将第一个元素与第二个元素比较大小,若为逆序,则交换; 然后比较第二个元素与第三个元素的大小,若为逆序,则交换;
直至比较第 n-1 个元素与第 n 个元素的大小,若为逆序,则交换; 结果:
关键字最大的记录被交换至最后一个元素位置上。例,序列 49 38 76 13 27
2479 4398
初 38
始 76 13
7267
27 38
49 13
2479
49
1第3
13
3287
3287 1338
38 27
13 趟
第 排
次大值 三 序
趟 后
1736
第一趟排序后
最大值 二 排
趟 序
排 后
序后
快速排序
冒泡排序的一种改进算法。思想:
以首记录作为轴记录,从前、后双向扫描序列,通过交换,实现大值记录后移,小值记录前移,最终将轴记录安置在一个适当的位置。(小值记录在前、大值记录在后)
轴记录将原序列分割成两部分,依次对前后两部分重新设定轴记录,继而分别再进行快速排序。
直至整个序列有序。
例,序列 { 49 38 65 97 76 13 27 52 }
第一趟排序
13 38 27 49 76 97 65 52
从前寻找大于轴记录的记录,从后寻找小于轴记录的记录 ; 交换大值记录与小值记录 ;
重复上述两步操作,直至 i > j ; 交换轴记录和标识 j 指示的记录 。
第一趟排序后 13 38 27 49 76 97 65 52
49 将序列分成两部分,分别进行新的快速排序;
第二趟排序 13 38
27
76
97
65
52
第二趟排序后 13 38
27
65
52
76
97
第三趟排序 38 27
65
52
97
第三趟排序后 27 38
52
65
第四趟排序 27 52
最终有序序列为:13 27
38
52
65
76
97
选择排序
思想: 每一趟都选出一个最大或最小的元素,并放在合适的位置。
简单选择排序
树形选择排序
堆排序
简单选择排序思想:
第 1 趟选择: 从 1—n 个记录中选择关键字最小的记录,并和第 1 个记录交换。第 2 趟选择: 从 2—n 个记录中选择关键字最小的记录,并和第 2 个记录交换。
第 n-1 趟选择: 从 n-1—n 个记录中选择关键字最小的记录,并和第 n-1 个记录交换。例,序列
您可能关注的文档
最近下载
- 蒂森MC2详细说明.pdf VIP
- 公交公司安全工作总结.docx VIP
- 打点计时器试卷习题精选附答案(出试卷可选用) .doc VIP
- (正式版)SH∕T 3006-2024 石油化工控制室设计规范.pdf VIP
- (完整版)打点计时器试卷习题附答案(出试卷可选用).docx VIP
- 国家开放大学——政治学原理——章七 自检自测—2022春季作业—2021秋季班.doc VIP
- 在线网课学习课堂《社会研究方法( 华科)》单元测试考核答案.docx VIP
- 蒂升电梯调试资料MC2B门机BG211-BG211C.pdf VIP
- 提高卧床患者踝泵运动的执行率.pptx VIP
- 蒂森MC2-B系统调试手册.pdf VIP
原创力文档


文档评论(0)