- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 排序技术 基本思想:在待排记录中依次选择关键字最小的记录作为有序序列的最后一条记录,逐渐缩小范围直至全部记录选择完毕。 §9.3 选择类排序 选择类排序的具体实现算法: 一、 简单选择排序 二、 堆排序 [49 38 65 97 76 13 27 49] 13 [38 65 97 76 49 27 49] 13 27 [65 97 76 49 38 49] 13 27 38 [65 97 76 49 49] 13 27 38 49 [65 97 76 49] 13 27 38 49 49 [65 97 76] 13 27 38 49 49 65 [97 76] 13 27 38 49 49 65 76 97 简单选择排序的演示 一、简单选择排序 §9.3 选择类排序 SelectSort(ET p[ ], int n) //简单选择排序 { int i, j, k; int ET p[ ]; for (i=0; i=n-2; i=i+1) { //在p[i..L.length] 中选择key最小的记录 k=i; //设k为key最小的记录 for( j=i+1;j=n-1 ; j=j+1) if ( p[ j ]p[ k ]) k=j; if(k!=i) { d=p[i];p[i]=p[k];p[k]=d;} //p[i]←→p[j]; } return;} //SelectSort 1.算法描述 §9.3 选择类排序 2.时间性能分析 对 n 个记录进行简单选择排序,所需进行的 关键字间的比较次数 总计为: 时间复杂度为O(n2) 序列存储:顺序、链式 是一种稳定的排序方法 §9.3 选择类排序 二、堆排序 堆是满足下列性质的数列{r1, r2, …,rn}: 或 1.堆的定义: (小顶堆) (小根堆) (大顶堆) (大根堆) ri r2i r2i+1 若将该数列视作完全二叉树, 则 r2i 是 ri 的左孩子; r2i+1 是 ri 的右孩子。 §9.3 选择类排序 小根堆 8 16 9 1 6 2 11 10 5 4 大根堆 16 9 8 10 6 2 11 1 5 4 1 6 8 12 9 16 2 11 5 14 1 9 8 10 6 16 2 11 5 4 不是堆 不是堆 判断下面各图是不是堆,如果是堆,指出是大堆还是小堆。 2.堆与完全二叉树关系 若n个元素a1,a2,a3,…,an满足堆,且让结点按1、2、3、…、n顺序编号,根据完全二叉树的性质(若i为根结点,则左孩子为2i,右孩子为2i+1)可知,一个堆对应着一颗完全二叉树。 堆排序实际是将元素初始序列组成一棵完全二叉树,包含建立初始堆(使排序码变成能符合堆的定义的完全二叉树)和利用堆进行排序两个阶段。 §9.3 选择类排序 判断序列 (80,75,40,62,73,35,28,50,38,25,47,15) 是不是堆? 1 80 75 40 62 73 28 35 50 38 25 47 15 3 2 4 5 6 7 8 9 10 11 12 §9.3 选择类排序 将无序序列建成一个堆,得到关键字最小(或最大)的记录;输出堆顶的最小(大)值后,使剩余的n-1个元素重又建成一个堆,则可得到n个元素的次小值;重复执行,得到一个有序序列,这个过程叫堆排序。 3.堆排序 80 75 40 62 73 28 35 50 38 25 47 15 §9.3 选择类排序 示例1: 建大顶堆 { 98, 81, 49, 73, 36, 27, 40, 55, 64, 12 } { 12, 81, 49, 73, 36, 27, 40, 55, 64, 98 } 交换 98 和 12 重新调整为大顶堆 { 81, 73, 49, 64, 36, 27, 40, 55, 12, 98 } { 40, 55, 49, 73, 12, 27, 98, 81, 64,
您可能关注的文档
最近下载
- 机械测量培训课程.pptx
- 医疗器械安全有效基本要求清单填写参考模板2024年.docx
- 人教版(2024)数学一年级下册四 100以内的口算加、减法 练习.pptx
- 电气装置安装工程质量检验及评定规程DLT5161 2018.doc
- 做好客舱清洁前准备课件讲解.pptx
- 铁道信号论文-信号机维护与故障处理.doc
- ISO13485质量手册+全套程序文件.docx VIP
- 汽车机械维修工(高级技师)职业鉴定考试题库资料(高频300题).pdf
- 多维视角下梧州市普通高中体育生学训现状剖析与发展路径探索.docx
- 江南事业编招聘考试题历年公共基础知识真题汇总-综合应用能力(2010-2021.pdf VIP
文档评论(0)