- 1、本文档共86页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
#第五部分重要运算部分之内排序.ppt
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 湖北工业大学计算机学院 沈华 * 【树型选择排序举例说明(续)】 湖北工业大学计算机学院 沈华 * 性能分析 ∵含有n个叶子的完全二叉树的深度为: 在树型选择排序中,除了最小关键字之外,每选择一个次小关键字仅需要进行?log2n ?次比较, ∴该算法的时间复杂度为O nlog2n 。 该排序方法所需的辅助空间较多,为了弥补提出了另一种形式的选择排序 —— 堆排序。 它是稳定排序。 湖北工业大学计算机学院 沈华 * 堆的定义 堆排序 堆是满足下列性质的数列 r1, r2, …, rn : 其中,i 1, 2, …, ri ≥ r2i ri ≥ r2i+1 或 ri ≤ r2i ri ≤ r2i+1 小顶堆 大顶堆 湖北工业大学计算机学院 沈华 * 具体做法 堆排序 对一组待排序记录的关键字,首先将它们按堆的定义排成一个序列,常称为建堆,从而输出堆顶的最大(或最小)关键字。然后对剩余的关键字再建堆,常称为重新调整成堆,即可得到次大(或次小)关键字,如此反复进行,直到全部关键字排成有序序列为止。 湖北工业大学计算机学院 沈华 * 【堆排序举例说明】 例12.7 关键字序列为 58, 45, 72, 86, 77, 21, 34, 60 ,将其构建成一个大顶堆。 具体过程请参加教材P250-P251 例12.8 设待排的关键字序列为 58, 45, 72, 86, 77, 21, 34, 60 ,对其进行堆排序。 具体过程请参加教材P251-P253 湖北工业大学计算机学院 沈华 * 性能分析 最坏情况 O nlog2n 建初始堆时,比较次数 ≤ 4n 反复调整堆时,比较次数 2n ?log2n? 实验表明: 平均性能接近于最坏性能 O nlog2n 辅助空间复杂度O 1 。 湖北工业大学计算机学院 沈华 * 算法要点 堆排序 是不稳定排序 初始建堆所需比较次数较多,因此记录数较少时不宜采用 在最坏情况下时间性能优于快速排序 湖北工业大学计算机学院 沈华 * 归并的定义 归并排序 把两个或两个以上的有序文件合并起来,形成一个新的有序文件。 湖北工业大学计算机学院 沈华 * 基本思想 归并排序 对于一个长度为n的无序文件来说,归并排序把它看成是由n个只包括1个记录的有序文件组成的文件,然后进行两两归并,最后形成包含n个记录的有序文件。 湖北工业大学计算机学院 沈华 * 【归并排序举例说明】 设待排的关键字序列为: 49, 38, 30, 76, 13, 45, 42 ,归并排序过程如下所示。 湖北工业大学计算机学院 沈华 * 性能分析 归并排序 任何情况时间复杂度O nlog2n 辅助空间复杂度O n 湖北工业大学计算机学院 沈华 * 算法要点 归并排序 是稳定排序 若采用单链表作为存储结构,可实现就地排序 很少用于内部排序 湖北工业大学计算机学院 沈华 * 基本思想(1/2) 基数排序 设立r个队列,队列编号分别为0 ~ r-1, r为基数 (1)先按最低有效位的值,把n个关键字分配到这r个队列中,然后从小到大将各队列中的关键字再依次收集起来。 湖北工业大学计算机学院 沈华 * 基本思想(2/2) 基数排序 (2)再按次低有效位的值把刚收集起来的关键字分配到r个队列中,重复收集工作。 (3)重复地进行上述分配和收集,直到最高有效位。也就是说,如果数位为d,则需要重复进行d次。d由所有元素中最长的一个元素的位数计量。 湖北工业大学计算机学院 沈华 * 【基数排序举例说明】 例12.10 设待排的关键字序列为: 485, 563, 103, 089, 273, 580, 983, 521, 047, 512 ,基数排序过程如下所示。 湖北工业大学计算机学院 沈华 * 【基数排序举例说明(续)】 湖北工业大学计算机学院 沈华 * 【基数排序举例说明(续)】 湖北工业大学计算机学院 沈华 * 【基数排序举例说明(续)】 湖北工业大学计算机学院 沈华 * 性能分析 每一趟:分配O n ,收集O r d趟总计:O d n+r ? O n ,通常d、r均为常数 辅助空间 n个指针域空间 队头指针数组f[1..r]和队尾指针数组e[1..r] 辅助空间复杂度 O r+d 。 湖北工业大学计算机学院 沈华 * 算法要点 基数排序 是稳定排序 通过“分配”和
您可能关注的文档
- 夏商西周的更替.ppt
- ()动物新老个体的更替.ppt
- ()静电场.ppt
- (一)如何攻破客户投保的真正理由.ppt
- (三年级oofice版)围绕中心句写一段话.ppt
- (上课)范进中举.ppt
- (下载版)三招找到好工作.ppt
- (二)蛋白质的有关计算.ppt
- (五)书名号(双书名号《》单书名号〈书名号表示书籍篇.ppt
- (亚洲最大的户外牌)广州中水广场户外包楼媒体.ppt
- 星巴克2025年跨界合作体验营销案例分析报告.docx
- 中国跨境电商发展:现状、挑战与对策建议.docx
- 时刻守护安全相伴主题班会.pptx
- 离散制造业工业互联网平台应用现状与2025年效益优化路径报告.docx
- 难点解析-冀教版8年级下册期末试题及参考答案详解【轻巧夺冠】.docx
- 难点解析-冀教版8年级下册期末试题及参考答案详解【突破训练】.docx
- 在线游戏行业新趋势下,2025年未成年人网络安全与保护研究报告.docx
- 珠宝行业2025钻石分级标准与市场规范行业专利技术分析报告.docx
- 电影产业票房市场分析:2025年制作技术创新与发行渠道优化报告.docx
- 难点解析-冀教版8年级下册期末试题及参考答案详解【研优卷】.docx
文档评论(0)