- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
严蔚敏版数据结构(C语言版)PPT-第十章汇编
void QKSort(RecordType r[ ],int low,int high) { r[0]=r[low]; if(lowhigh) { pos=QKpass(r,low,high); QKSort(r,low,pos-1); QkSort(r,pos+1,high); } 数 据 结 构 10.3 交换类排序 第10章 内部排序 ②快速排序 算法 数 据 结 构 10.4 选择类排序 第10章 内部排序 从记录的无序子序列中“选择”关键字最小或 最大的记录,并将它加入到有序子序列中, 以此方法增加记录的有序子序列的长度。 ①简单选择排序 ③堆排序 ②树型选择排序 数 据 结 构 10.4 选择类排序 第10章 内部排序 ①简单选择排序 98 35 14 55 77 35 62 48 i 第 1 趟 k j j k j j j k j j 14 48 2 i k j 35 62 3 35 62 4 48 77 5 55 6 62 77 7 77 8 98 void SelectSort(RecordType r[ ],int n) { n=length; for(i=1;i=n-1;i++) { k=i; for(j=i+1;j=n; ++j) if(r[j].keyr[k].key) k=j; if(k!=i) { x=r[i];r[i]=r[k];r[k]=x;} } } 数 据 结 构 10.4 选择类排序 第10章 内部排序 ②树型选择排序 是一种按锦标赛的思想进行排序的方法。 49 38 27 65 97 76 49 13 38 65 13 27 38 13 13 ∞ 76 13 27 27 27 ∞ 49 49 38 38 ∞ 49 49 49 49 ∞ ∞ 65 49 49 ∞ ∞ 76 65 65 ∞ 97 97 76 76 ∞ ∞ ∞ 97 97 数 据 结 构 10.4 选择类排序 第10章 内部排序 ③堆排序 对树型排序的进一步改进。 堆是满足下列性质的数列{r1, r2, …,rn}: 或 堆的定义: {12, 36, 27, 65, 40, 34, 98, 81, 73, 55, 49} 例如: 是小顶堆 {12, 36, 27, 65, 40, 14, 98, 81, 73, 55, 49} 不是堆 (小顶堆) (大顶堆) ? í ì £ £ + 1 2 2 i i i i r r r r ? í ì 3 3 + 1 2 2 i i i i r r r r ri r2i r2i+1 若将该数列视作完全二叉树,则 r2i 是 ri 的左孩子;r2i+1 是 ri 的右孩子。 例如: 数 据 结 构 10.4 选择类排序 第10章 内部排序 ③堆排序 {12, 36, 27, 65, 40, 34, 98, 81, 73, 55, 49} 12 36 27 65 40 34 98 81 73 55 49 14 14 是小顶堆 不 堆排序即是利用堆的特性对记录序列进行排序。 例如: 建大顶堆 { 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, 36 } 经过筛选 数 据 结 构 10.4 选择类排序 第10章 内部排序 ③堆排序 1、如何由一个无序序列“建初堆”? 堆排序的两个问题: 2、输出堆顶后,如何“筛选”? 数 据 结 构 10.4 选择类排序 第10章 内部排序 ③堆排序 所谓“筛选”指的是,对一棵左/右子树均为堆的完全 二叉树,“调整”根结点使整个二叉树也成为一个堆。 数 据 结 构 10.4 选择类排序 第10章 内部排序 ③堆排序 48 98 35 77 55 14 35 62 48 98 77 62 48 数 据 结 构 10.4 选择类排序 第10章 内部排序 ③堆排序 例如: { 48, 62, 35, 77, 55, 14, 35, 98} 48 62 35 77 55 14 35 98 显然不是一个堆 调整 如何建初堆? * 数 据 结 构 10.1 概述 10.2 插入类排序 10.4 选择类排序 第10章 内部排序 10.3
您可能关注的文档
- 东方文明古国及教学设计汇编.ppt
- 东汽透平核心技术试验研究平台(试验厂房及办公楼)汇编.doc
- 东南大学叶见曙结构设计原理完整ppt汇编.ppt
- 东莞华为天线过程控制无线测控解决方案汇编.ppt
- 东莞市2012年LED芯片发展调研分报告(报送稿,2012年3月17日)汇编.doc
- 东华大学波谱分析课件-第九章有机化合物的波谱分析汇编.ppt
- 东城区2015-2016学年度第二学期初二物理期末试题汇编.doc
- 东营市互联网+继续教育考试答案汇编.doc
- 东西半球判断汇编.ppt
- 东营港东营港区2X5千吨汇编.doc
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
文档评论(0)