排序38了436.pptVIP

  1. 1、本文档共93页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
排序38了436

树形选择排列(Tree Selection Sort) 树形选择排列(Tree Selection Sort)又称锦标赛排列(Tournament Sort)的基本思想是:如果ab,bc则ac即关系的可传递性,来减少关键字比较的次数。 BAO BAO CHA ZHAO CHA BAO LIU BAO DIAO DIAO DIAO YANG WANG XUE WANG 求锦标赛冠军过程 冠军 CHA CHA CHA ZHAO CHA LIU LIU * DIAO DIAO DIAO YANG WANG XUE WANG 求锦标赛亚军过程 亚军 求亚军时只需将冠军输出并将其原位置改为关键字的“最大”或“最小”值,再从该位置开始依次和兄弟比较,直至选出亚军 重复使用此方法可依次选出从小到大的所有关键字。 由排序过程可知,含有n个叶子节点的完全二叉树的深度为log2n+1,则选择排序的每一趟都需作log2n次比较,排序的时间复杂度O(n log2n)。 优点 树形选择排序的缺点是:需要辅助存储空间较多。 堆排序( Heap sort ) 堆 ( Heap )设有一个关键字集合,按完全二叉树的顺序存储方式存放在一个一维数组中。对它们从根开始,自顶向下,同一层自左向右从 1开始连续编号。若满足 Ki ? K2i Ki ? K2i+1 或 Ki ? K2i Ki ? K2i+1, 则称该关键字集合构成一个堆。 前者成为小根堆,后者称为大根堆。 完全二叉树 顺序表示 Ki ? K2i Ki ? K2i+1 完全二叉树 顺序表示 Ki ? K2i Ki ? K2i+1 09 09 87 87 78 78 45 45 65 65 31 31 53 23 23 53 17 17 堆排序 (Heap Sort) 利用堆及其运算, 可以很容易地实现选择排序的思路。 堆排序分为两个步骤: 根据初始输入数据,利用堆的调整算法 Heap ( ) 形成初始堆; 通过一系列的对象交换和重新调整堆进行排序。 将一无序序列看成一个完全二叉树,则最后一个非终端结点是第?n/2?个元素,则从该元素开始自下向上逐步调整为小根堆 53 53 17 17 78 78 09 23 45 65 87 i 09 23 45 65 87 i = 4 i = 3 i 初始小根堆的建立过程 53 53 17 17 78 78 09 23 45 65 87 i 09 23 45 65 87 i = 2 i 53 17 17 78 78 09 23 45 65 87 i 09 23 45 65 87 i = 1 i 53 53 17 17 78 78 09 23 45 65 87 i 09 23 45 65 87 i 53 建成堆 53 17 78 09 23 45 65 87 排序--调整的过程为:输出堆顶元素后用堆中最后一个元素替代,再自上而下调整。调整时堆顶元素和左右子比较,若大于左右子则和左右子中较小的交换,直至叶子节点。 17 78 53 23 45 65 87 53 78 17 23 45 65 87 23 78 17 53 45 65 87 小根堆的自上而下调整过程 初始大根堆的建立过程 21 25 25* 49 16 08 1 2 3 4 5 6 i 21 25 25* 16 49 08 1 3 6 5 4 2 i 初始排序码集合 i = 3 时的局部调整 21 25 25* 49 16 08 1 2 3 4 5 6 i 49 25 25* 16 21 08 0 2 5 4 3 1 i = 1 时的局部调整 形成最大堆 i = 2 时的局部调整 49 25 25* 21 16 08 1 2 3 4 5 6 08 25 25* 16 21 49 1 3 6 5 4 2 49 25 21 25* 16 08 08 25 21 25* 16 49 交换 1 号与 6 号对象, 6 号对象就位 初始最大堆 基于初始堆进行堆排序 25 25* 08 21 16 49 1 2 3 4 5 6 16 25* 08 25 21 49 1 3 6 5 4 2 25 25* 21 08 16 49 16 25* 21 08 25 49 交换 1 号与 5 号对象, 5 号对象就位 从 1 号到 5 号 重新 调整为最大堆 25* 16 08 21 25 49 1 2 3 4 5 6 08 16 25* 25 21 49 1 3 6 5 4 2 25* 16 21 08 25 49 08 16 21 25* 25 49 交换 1 号与 4 号对象, 4 号对象就位 从 1 号

文档评论(0)

181****7523 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档