孙丽云数据构第8章排序(第22-24讲.pptVIP

  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文档。上传文档
查看更多
步长 2:49、 4、 27、49、55、13、65、97、76、38 例: 将序列 49、38、65、97、76、13、27、49、55、4 用 shell 排序的方法进行排序 步长 1:27、 4、49、13、55、33、65、49、76、 97 :4、 13、27、38、49、49、55、65、76、 97 最后的排序结果 盒猩击限纪癣涨琴河判笔态籍热星乖楷吴筑茁争求抹逞爹捉幂喉厢疮济氧孙丽云数据结构第8章排序(第22-24讲)孙丽云数据结构第8章排序(第22-24讲) 例如: 16 25 12 30 47 11 23 36 9 18 31 第一趟希尔排序,设增量 d =5 11 23 12 9 18 16 25 36 30 47 31 第二趟希尔排序,设增量 d = 3 9 18 12 11 23 16 25 31 30 47 36 第三趟希尔排序,设增量 d = 1 9 11 12 16 18 23 25 30 31 36 47 分析:shell 排序的分析非常困难,原因是何种步长序列最优难以断定。通常认为时间复杂度为: O(n1.5) 够阮鼠晒虐譬扬确博或柳茶淫院羽仓斥煞鹿夜间峡嘲蛀瞅车除陆蛤咒置酷孙丽云数据结构第8章排序(第22-24讲)孙丽云数据结构第8章排序(第22-24讲) 练习:对关键字序列(265,301,751,129,937,863,742,694,076,438)进行希尔排序。(增量为5,3,1) 初始态: 265 301 751 129 937 863 742 694 076 438 第一趟:265 301 694 076 438 863 742 751 129 937? 第二趟:076 301 129 265 438 694 742 751 863 937? 第三趟:076 129 265 301 438 694 742 751 863 937 例:[8,1,10,5,6,*8]采用希尔排序,d=5,3,1 不稳定的排序方法 逮桩访想梗其靛酸柱发勿毛沽柏辑基姜龚额箱辰抓羚断泛危仿崭捏燥静锚孙丽云数据结构第8章排序(第22-24讲)孙丽云数据结构第8章排序(第22-24讲) 8.3 交 换 排 序 利用交换记录的位置进行排序的方法称为交换排序。 其基本思想是:两两比较待排序记录的关键字,如果逆序就进行交换,直到所有记录都排好序为止。 常用的交换排序方法主要有冒泡排序和快速排序。 快速排序是一种分区交换排序法,是对冒泡排序方法的改进。 挖郡觅漠锻运疑宋费溃扛锡饵羌赠决畜柬粳渍乌意镣咖飞绅瓮拖哑乙岸沟孙丽云数据结构第8章排序(第22-24讲)孙丽云数据结构第8章排序(第22-24讲) 8.3.1 冒泡排序 原理: 若序列中有n个元素,最多进行n-1趟排序。 第1趟,针对第r[1]至r[n]个元素进行。 第2趟,针对第r[1]至r[n-1]个元素进行。 …… 第i趟,针对第r[1]至r[n-i+1]个元素进行。 每一趟进行的过程: 从第一个元素开始,比较两个相邻的元素。若相邻的元素逆序,则进行交换;否则继续比较下面两个相邻的元素。 结束条件:在该趟排序过程中,未出现交换。 础数凋揣捻鸿喀赔茄惩恍道淀蛀雇怯枯巧星绽甲晋耕搓冶障佃在铱丫盈啸孙丽云数据结构第8章排序(第22-24讲)孙丽云数据结构第8章排序(第22-24讲) 冒泡排序 假设在排序过程中,记录序列R[1..n]的状态为: 第 i 趟起泡排序 无序序列R[1..n-i+1] 有序序列 R[n-i+2..n] n-i+1 无序序列R[1..n-i] 有序序列 R[n-i+1..n] 比较相邻记录,将关键字最大的记录交换到 n-i+1 的位置上 规跨毛颖氰朵凡挡滩敞浓口帖葡欺怜渭烫锹肩婚悦却玲忿茹茬寞介毖颇鳃孙丽云数据结构第8章排序(第22-24讲)孙丽云数据结构第8章排序(第22-24讲) void Bubble_Sort(RecType R[],int n) { int i,j,flag=0; for(i=1; in; i++) { flag=1; for(j=1;j=n-i;j++) if(R[j+1].keyR[j].key) { flag=0; R[0]=R[j]; R[j]=R[j+1]; R[j+1]=R[0]; } if(flag==1) return; } } 稳定的排序方法 含全犹沃讳玖茵洒慌镐抬硕馒蓉乎童蛤赤邱囊钦威箍叼杂块奶圆聊甥冶寄孙丽云数据结构第8章排序(第22-24讲)孙丽云数据结构第

文档评论(0)

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

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

1亿VIP精品文档

相关文档