- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机软件及应用]第03章 排序问题和离散集合的操作
第三章 排序问题和离散集合的操作 3.1 合并排序 3.2 基于堆的排序 3.3 基数排序 3.4 离散集合的操作 3.1 合并排序 一 合并排序算法的实现 二 合并排序算法的分析 1. 合并排序算法的思想方法 假定有 8 个元素,第一步,划分为四对,每一对两个元素,用 merge 算法合并成四个有序的序列;第二步,把四个序列划分成两对,用 merge 算法合并成两个有序的序列;最后,再利用merge算法合并成一个有序的序列。 3. 合并排序算法的实现过程 1)在第一轮循环,s = 1、t =2,有 5 对 1 个元素的序列进 行合并,当 i = 10时,i + t = 12 n ,退出内部的 while 循环。但 i + s = 11,不小于 n,所以,不执行第 12 行的 合并工作,余留一个元素没有处理。 2. 合并排序算法的描述 合并排序算法的实现过程(续 1) 2)在第二轮 s = 2,t = 4, 有两对两个元素的序列进行合并, 在 i = 8 时,i + t = 12 n ,退出内部的while循环。但 i + s = 10 n,所以执行第 12 行的合并工作,把一个大 小为 2 的序列和另外一个元素合并,产生一个 3 个元素 的有序序列。 2. 合并排序算法的描述 合并排序算法的实现过程(续 2) 3)在第三轮 s = 4,t = 8, 有一对四个元素的序列进行合并, 在 i = 8 时,i + 8 = 16 n ,退出内部的while循环。 i + s = 12 n,不执行第12行的合并工作,余留一个序 列没有处理 。 2. 合并排序算法的描述 合并排序算法的实现过程(续 2) 4)在第四轮,s = 8, t = 16。在 i = 0 时,i + t = 16 n,不 执行内部的while循环,但 i + s = 8 n,所以执行第 12 行的合并工作,产生一个大小为11的有序序列 。 5)在第五轮,因为 t = 16 n,所以退出外部的while循环, 结束算法 2. 合并排序算法的描述 2. 合并排序算法的描述 1. template class Type 2. void merge_sort(Type A[ ],int n) 3. { int i,s,t = 1; // i:开始合并时第一个序列的起始位置 5. while (tn) { // s:合并前序列的大小 6. s = t; t = 2 * s; i = 0; // t:合并后序列的大小 7. while (i+tn) { 8. merge(A,i,i+s-1,i+t-1,t); // i, i + s – 1 ,i + t – 1 9. i = i + t; // 被合并的两个序列的边界 10. } 11. if (i+sn) 12. merge(A,i,i+s-1,n-1,n-i); 13. } 14. } 二 合并排序算法的分析 假定 n 是 2 的羃。 外部 while 循环的循环体的执行次数:k = logn 次。 内部while循环 merge执行的 所产生 序列 元素比较总次数 merge执行次数 比较次数 序列数 长度 最少 最多 1 2 3 j 合并排序算法的分析(续 1) 合并排序算法的分析(续 2) 合并排序算法的分析(续 1) 合并排序算法的执行时间,至少为: 二 合并排序算法的分析 合并排序算法的分析(续 2) 合并排序算法的执行时间,至多为 : 二 合并排序算法的分析 3.2 基于堆的排序 一
您可能关注的文档
- [计算机软件及应用]智能选课系统的开发定稿.doc
- [计算机软件及应用]时间戳服务器.doc
- [计算机软件及应用]最漂亮的PPT背景图片免费下载1.ppt
- [计算机软件及应用]最牛逼的页面处理JS.doc
- [计算机软件及应用]最终毕业论文.doc
- [计算机软件及应用]朗乡林业局职工基本医疗保险网络信息系统方案.doc
- [计算机软件及应用]智能家居高清网络机顶盒.ppt
- [计算机软件及应用]新闻PPT模板.ppt
- [计算机软件及应用]机械制图.ppt
- [计算机软件及应用]某地光伏电站PC招标商务文件PART5.doc
- 主题课程整理大班上.doc
- 2026人教版小学语文三年级上册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学语文四年级下册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学二年级上册数学期末综合试卷精选3套(含答案解析).docx
- 2026人教版小学语文四年级上册期末综合试卷3套(含答案解析).docx
- 2026人教版小学二年级下册数学期末综合试卷3套(打印版含答案解析).docx
- 2026年地理信息行业年终总结汇报PPT.pptx
- 板块四第二十一单元封建时代的欧洲和亚洲 中考历史一轮复习.pptx
- 中考历史一轮复习:板块四第二十单元古代亚、非、欧文明+课件.pptx
- 第二次工业革命和近代科学文化中考历史一轮复习.pptx
最近下载
- 地方政府大数据发展的现实与理想 .pdf
- 节能降碳知识竞赛.docx VIP
- 15D502 等电位联结安装(标准图集).pdf VIP
- 2024-2025学年北京海淀区七年级初一(上)期末历史试卷(含答案).pdf
- 矿井通风课程设计.pdf VIP
- 文华财经期货软件指标公式源码精准多空买卖点.doc VIP
- 2023-2024学年新疆乌鲁木齐市经开区八年级上学期期末数学试题及答案.pdf VIP
- 北京市海淀区2024-2025学年九年级上学期期末语文试题(含答案与解析).pdf VIP
- 医院食堂员工服务礼仪.pptx VIP
- Dify平台构建简单Agent全指南:零基础也能轻松上手.docx VIP
原创力文档


文档评论(0)