- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1. 直接插入排序: 1. 简单选择排序(矮子里面挑将军,或反之) 排序过程 首先通过n-1次关键字比较,从n个记录中找出关键字最小的记录,将它与第一个记录交换 再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将它与第二个记录交换 重复上述操作,共进行n-1趟排序后,排序结束 3. 堆排序 堆的定义:n个元素的序列(k1,k2,……kn)按照完全二叉树形排列,当且仅当满足下列关系时,称之为堆 堆排序:将无序序列建成一个堆,得到关键字最小(或最大)的记录;输出堆顶的最小(大)值后,使剩余的n-1个元素又重新建成一个堆,则可得到n个元素的次小值;重复执行,得到一个有序序列,这个过程叫~ 堆排序需解决的两个问题: 如何由一个无序序列建成一个堆? 如何在输出堆顶元素之后,调整剩余元素,使之成为一个新的堆? 第二个问题解决方法——筛选 方法:输出堆顶元素之后,以堆中最后一个元素替代之;然后将根结点值与左、右子树的根结点值进行比较,并与其中小者进行交换;重复上述操作,直至叶子结点,将得到新的堆,称这个从堆顶至叶子的调整过程为“筛选” * 数据结构 计算机与信息学院 姜敏 上节课内容回顾 排序过程:整个排序过程为n-1趟插入,即先将序列中第1个记录看成是一个有序子序列,然后从第2个记录开始,逐个进行插入,直至整个序列有序 算法评价 平均时间复杂度 T(n)=O(n2) 空间复杂度:S(n)=O(1) 稳定性:稳定 2. 折半插入排序 排序过程:用折半查找方法确定插入位置的排序叫~ 算法评价 时间复杂度:T(n)=O(n2) 空间复杂度:S(n)=O(1) 算法稳定 3. 希尔排序(缩小增量分组排序法): 排序过程:先取一个正整数d1n,把所有相隔d1的记录放一组,组内进行直接插入排序;然后取d2d1,重复上述分组和排序操作;直至di=1,即所有记录放进一个组中排序为止 希尔排序特点 子序列的构成不是简单的“逐段分割”,而是将相隔某个增量的记录组成一个子序列 希尔排序可提高排序速度 增量序列取法(Shell 排序的执行时间依赖于增量序列) 没有1以外的公因子(序列互质) 最后一个增量值必须为1 空间复杂度:T(n)=O(n1+x) (随增量序列变,不要求) 空间复杂度:s(n)=O(1) 稳定性:不稳定 9.2 交换排序(通过交换的方式实现排序) 1.冒泡排序 时间复杂度:T(n)=O(n2) 空间复杂度:S(n)=O(1) 算法稳定 排序过程 重复关键字比较与交换,第一趟冒泡排序,结果关键字最大的记录被安置在最后一个记录上第二趟冒泡排序,结果使关键字次大的记录被安置在第n-1个记录位置,重复上述过程,直到“在一趟排序过程中没有进行过交换记录的操作”为止 基本思想:通过一趟排序,将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录进行排序,以达到整个序列有序 排序过程:令序列第一个元素关键字为枢轴,将序列一份为二,递归进行排序。 2. 交换排序-快速排序: 算法评价 时间复杂度 最好情况(每次总是选到中间值作枢轴)T(n)=O(nlog2n) 最坏情况(每次总是选到最小或最大元素作枢轴)T(n)=O(n2) 空间复杂度:需栈空间以实现递归 最坏情况:S(n)=O(n) 一般情况:S(n)=O(log2n) 算法不稳定 9.1 插入排序 9.2 交换排序 9.3 选择排序 9.4 归并排序 9.5 基数排序 9.6 小结(各类排序方法比较) 第9章 排序 9.3 选择排序 例 初始: [ 49 38 65 97 76 13 27 ] k j j j j j j k k i=1 13 49 一趟: 13 [38 65 97 76 49 27 ] i=2 k k j j j j j 27 38 二趟: 13 27 [65 97 76 49 38 ] 三趟: 13 27 38 [97 76 49 65 ] 四趟: 13 27 38 49 [76 97 65 ] 五趟: 13 27 38 49 65 [97 76 ] 六趟: 13 27 38 49 65 76 [97 ] 排序结束: 13 27 38 49
您可能关注的文档
- 云南省丽江市永胜县永北镇中学七年级英语上册 Unit 3 Topic 3 Section D课件 人教新目标.ppt
- 云南省丽江市永胜县永北镇中学七年级英语上册 Unit 3 Topic 1 Section A课件 人教新目标.ppt
- 云南省丽江市永胜县永北镇中学七年级英语上册 Unit 4 Topic 1 Section B课件 人教新目标版.ppt
- 云南省丽江市永胜县永北镇中学七年级英语上册 Unit 3 Topic 3 Section B课件 人教新目标.ppt
- 云南省丽江市永胜县永北镇中学七年级英语上册 Unit 3 Topic 3 Section A课件 人教新目标.ppt
- 云南省丽江市永胜县永北镇中学七年级英语上册 Unit 3 Topic 1 Section B课件 人教新目标.ppt
- 云南省丽江市永胜县永北镇中学七年级英语上册 Unit 4 Topic 1 Section A课件 人教新目标版.ppt
- 云南省丽江市永胜县永北镇中学七年级英语上册 Unit 3 Topic 1 Section D课件 人教新目标.ppt
- 云南省丽江市永胜县永北镇中学七年级英语上册 Unit 4 Topic 2 Section A课件 人教新目标版.ppt
- 云南省丽江市永胜县永北镇中学七年级英语上册 Unit 3 Topic 2 Section C课件 人教新目标.ppt
文档评论(0)