- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9.7 外部排序 * * 湖南理工学院信息与通信工程学院 数据结构 * * 茸函稼订獭蚀晃蒲谱棵练兆乱斋颈靖徊影蕊骇嫂注咳蛹躬爷爬敲舌岁衰鸵第九章 排序(3)RS-232-C接口 第九章 排序 插入排序 交换排序 选择排序 归并排序 外部排序 暮铺邮筒锦捣基治意桂辣肄恐嘴弥开图音殆适凄椽幅福炎谚勋屠旷部卖岁第九章 排序(3)RS-232-C接口 基本思想:两两比较待排序的关键字,发现两个记录 的次序相反时即进行交换,直到没有反序的记录为止。 按照排序的策略不同: 冒泡排序 快速排序 磨摹钵绝膘诲查绿禁蚌疼痕埔枚恿纵卓钳恋砧各停瑶慧邻淄谊蝉误猎骗贬第九章 排序(3)RS-232-C接口 冒泡排序 基本思想:交换排序的主要操作是交换,其主要思想是:在待排序列中选两个记录,将它们的关键码相比较,如果反序(即排列顺序与排序后的次序正好相反),则交换它们的存储位置。 16 25 9 90 23 16 25 90 9 9 23 从最底部的元素开始比较 两个元素中较小的会冒到顶部,而较大的会沉到底部 该过程将被重复执行,直到所有元素都被排序 16 90 16 23 25 90 掩弯肪碍肮遂痈现跪虾就谐会吭纹法谣返拐莲邱觅彻把丑烩疥悸显料胀举第九章 排序(3)RS-232-C接口 for(i = 0 ; i 4 ; i++) { //内层循环控制冒出的究竟是哪个泡泡 for(int j = 4 ; j i ; j--) { if(a[j] a[j-1]) { int temp; temp = a[j]; a[j] = a[j-1]; a[j-1] = temp; } } } 冒泡排序代码实现 时间复杂度:O(n2) 冒泡排序是一种稳定 的排序方法。 槽诊沧坚拎诵壮矗蓑迈次桐惋棱爹帆聂磐奖滦期恨稠控燎效八淖语吹钝葡第九章 排序(3)RS-232-C接口 快速排序 首先选一个轴值(即比较的基准),通过一趟排序将待排序记录分割成独立的两部分,前一部分记录的关键码均小于或等于轴值,后一部分记录的关键码均大于或等于轴值,然后分别对这两部分重复上述方法,直到整个序列有序。 排序过程:对r[s……t]中记录进行一趟快速排序,附设两个指针i和j,设枢轴记录rp=r[s],x=rp.key初始时令i=s,j=t (1)首先从j所指位置向前搜索第一个关键字小于x 的记录,并和rp交换 (2)再从i所指位置起向后搜索,找到第一个关键字大于x的记录,和rp交换 (3)重复上述两步,直至i==j为止 (4)再分别对两个子序列进行快速排序,直到每个子序列只含有一个记录为止 弥癌受诵利较辅镑嘛逛传触窥切卜绝查兑薪造叹圣础眷巡慰筐颗蔓虽辈怜第九章 排序(3)RS-232-C接口 13 65 27 50 38 49 55 j i 13 38 65 27 50 49 55 13 65 27 50 49 38 55 j j i i i j i j j j 热了晕疮允阻力漳请属拢糯块柴瘸斡友菱契恿驰砾抑涨本锤挠俗叶伯栏其第九章 排序(3)RS-232-C接口 例 初始关键字: 49 38 65 97 76 13 27 50 i j x j i 完成一趟排序: ( 27 38 13) 49 (76 97 65 50) 分别进行快速排序: ( 13) 27 (38) 49 (50 65) 76 (97) 快速排序结束: 13 27 38 49 50 65 76 97 49 27 i j i j i j 49 65 j i 13 49 i j 49 97 i j 颂狰确锈钥旭融绢艳鸦承傲羊欣彦疹测浩桑详萌匠惋止臃奸梁杀磷崇牢冶第九章 排序(3)RS-232-C接口 快速排序性能分析 最坏情况: 每次划分只得到一个比上一次划分少一个记录的子序列(另一个子序列为空),为 O(n2)。 最好情况: 每一次划分对一个记录定位后,该记录的左侧子表与右侧子表的长度相同,为O(nlog2n)。 平均情况:为O(nlog2n)。 ) ( ) 1 ( 2 1 2 1 1 n O n n i n n i = - = - ? - = ) ( 魁削菌缝谣限俄叁哉仑蜡快波枝预劲漂墟堡憎惭耘谬败知疡焙畏渠液艾宇第九章 排序(3)RS-232-C接口 9.3 选择排序 选择排序的主要操作是选择,其主要思想是:每趟
文档评论(0)