第20讲排序2概要.pptxVIP

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

数据结构;知识点回顾 衡量排序算法的标准 时间复杂度 空间复杂度 稳定性 插入类排序 直接插入排序(顺序查找) 折半插入排序 希尔排序(增量递增) 交换类排序 冒泡排序 快速排序;第20讲;8.4 选择排序;;;算法分析;树形选择排序;13;13;27;算法分析;n个元素的序列{k1,k2,…,kn},当且仅当满足下列关系时,成为堆: ;(87,78,53,45,65,09,31,17,23);小根堆;;判定(80,75,40,62,73,35,28,50,38,25,47,15)是否为堆;堆是一种数据结构,( )是堆。 A.(10,50,80,30,60,20,15,18) B.(10,18,15,20,50,80,30,60) C.(10,15,18,50,80,30,60,20) D.(10,30,60,20,15,18,50,80) ( )从二叉树的任一结点出发到根的路径上,所经过的结点序列必按其关键字降序排列。 A.二叉排序树 B.大顶堆 C.小顶堆    D.平衡二叉树;将无序序列建成一个堆 输出堆顶的最小(大)值 使剩余的n-1个元素又调整成一个堆,则可得到n个元素的次小值 重复执行,得到一个有序序列;;;;;;;;;;输出堆顶元素后,以堆中最后一个元素替代之 将根结点与左、右子树根结点比较,并与小者交换 重复直至叶子结点,得到新的堆;;堆的重新调整-1;堆的重新调整-2;堆的重新调整-2;堆的重新调整-2;堆的重新调整-3;堆的重新调整-3;堆的重新调整-3;堆的重新调整-4;堆的重新调整-4;堆的重新调整-5;堆的重新调整-5;堆的重新调整-5;堆的重新调整-5;堆的重新调整-6;堆的重新调整-6;算法分析;习题: 一组记录的关键值为(4,7,5,2,3,8),利用堆排序算法建立的初始堆为 。 A、2,4,5,7,3,8 B、4,2,5,7,3,8 C、2,3,5,7,4,8 D、8,3,5,7,4,2;8.5 归并排序;问题1:如何将两个有序序列合成一个有序序列?;设相邻的有序序列为r[s] ~ r[m]和r[m+1] ~ r[t],归并成一个有序序列r1[s] ~ r1[t] ;问题2:怎样完成一趟归并?;设参数i指向待归并序列的第一个记录,归并的步长是2h,在归并过程中,有以下三种情况:;②若i<n-h+1,则表示仍有两个相邻有序表,一个长度为h,另一个长度小于h,则执行两个有序表的归并,完成后退出一趟归并。;③若i≥n-h+1,则表明只剩下一个有序表,直接将该有序表送到r1的相应位置,完成后退出一趟归并。 ;解决方法: 开始时,有序序列的长度h=1,结束时,有序序列的长度h=n,用有序序列的长度来控制排序的结束。;二路归并排序算法的性能分析;8.6 基数排序;例如:对下列这组关键字 {278,109,063,930,589,184,505,269,008,083};基数排序过程;505—008—109—930—063—269—278—083—184—589;  在计算机上实现基数排序时,为减少所需辅助存储空间,应采用链表作存储结构,即链式基数排序,具体作法为:; 基数排序的时间复杂度为O(d n);小结;(数据不是顺次后移时将导致方法不稳定);按平均时间排序方法分为四类 O(n2)、O(nlogn)、O(n1+?)、O(n);为避免顺序存储时大量移动记录的时间开销,可考虑用链表作为存储结构    直接插入排序、归并排序、基数排序;(1)分布随机,稳定性不做要求,则采用快速排序 (2)内存允许,要求排序稳定时,则采用归并排序 (3)可能会出现正序或逆序,稳定性不做要求,则采用堆排序或归并排序

文档评论(0)

wyjy + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档