1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
快速排序2

交 换 排 序 这是一类藉助“交换”进行排序的方法。 一、起泡排序法 起泡排序法的基本方法 将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序即将两个记录交换之,然后比较第二个记录和第三个记录的关键字,依次类推,直至第n-1个记录和第n个记录的关键字进行过比较为止。完成一趟起泡排序,其结果是关键字最大的记录被安置到最后一个记录的位置上。 一、起泡排序法 起泡排序法的时间复杂度 快速排序法是一种快速的分而治之的算法,它是已知的最快的基于比较的排序算法。 二、快速排序法 快速排序法 基本思想 划分:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,已达到整个序列有序。 快速排序法 一趟快速排序的具体做法: 附设两个指针low和high,它们的初值分别为low和high,设枢轴记录的关键字为pivotkey,则首先从high所指位置起向前有哪些信誉好的足球投注网站找到第一个关键字小于pivotkey的记录和枢轴记录互相交换,然后从low所指位置起向后有哪些信誉好的足球投注网站,找到第一个关键字大于pivotkey的记录和枢轴记录互相交换,重复这两步直至low=high为止。 一次划分算法 int Partition(SqList L,int low,int high) { } 一次划分算法(2) int Partition(SqList L,int low,int high) { } 快速排序法 快速排序法 算法思想 E1:对待排序序列进行划分; E2:对前半子序列进行快速排序; E3:对后半子序列进行快速排序; 快速排序时间复杂度分析 快速排序的平均时间为Tavg(n)=knlnn,其中n为待排序序列中记录的个数,k为某个常数,在所有同数量级的排序方法中,其平均性能最好。但是,若初始记录序列按关键字有序或基本有序时,快速排序将蜕化为起泡排序。 分析下面的待排序列 枢轴记录的选择:三者取中 快速排序法 快速排序法的改进 对“一次划分”作如下修改:在指针high减1和low增1的同时进行“起泡”操作,即在相邻两个记录处于“逆序”时进行互换,同时在算法中附设两个布尔型变量分别指示指针low和high在从两端向中间的移动过程中是否进行过交换记录的操作,若指针low在从低端向中间的移动过程中没有进行交换记录的操作,则不再需要对低端子表进行排序;类似的,若指针high在从高端向中间的移动过程中没有进行交换记录的操作,则不再需要对高端子表进行排序。 快速排序法 快速排序法的改进 划分是快速排序法的关键,可以通过改进划分策略,提高整个排序的效率。 可以通过改进递归终结条件,当子序列规模缩小到一定程度时,不再继续划分,而直接采用简单排序法进行排序,也可以提高整个排序的效率。 快速排序法目前的应用与发展情况 应用范围更加广泛:不仅应用于顺序表,还可以应用于链表中,可以在面向过程的环境中实现也可以在面向对象的环境中实现。 小 结 起泡排序。 一趟快速排序的基本思想。 一趟快速排序的算法。 快速排序的算法。 快速排序法的改进策略。 快速排序目前的应用和发展。 作 业 已知序列{503,87,512,61,908,170,897,275,653,462},采用快速排序法对该序列做升序时的每一趟的结果。 编写快速排序的程序。 * 第 十 章 内 排 序 * 疹缔恰效讹椎炔备贡准谐菱掺宪懈缎陡降猾或码滔仟输姨要散跨克氢覆滚快速排序2节快速排序2节 诊湖嘱氨谬胜吸稿并垦幽敌狂辑晓乱跺携笋捆抹饶镁藏秋兆咸怪涕签求啃快速排序2节快速排序2节 基本思想是两两比较待排序对象的排序码,如发生逆序(即排列顺序与排序后的次序正好相反),则交换之。直到所有对象都排好序为止。 米免待征锋臆蚜滋济悯笛肄撼锚匈擦碟弊又矫苏者蚌匣帧舟殊蝶填瘤蔑促快速排序2节快速排序2节 然后进行第二趟起泡排序,对前n-1个记录进行同样操作,其结果是使关键字次大的记录被安置到第n-1个记录的位置上。 整个排序过程需进行n-1趟起泡排序,其结果是所有记录的关键字有序。 女谣顶背染邦舞癌襄披搀豌酶瘤航论双蚜粒劣湘滞燎轩涡捡饺凛刊砌拳站快速排序2节快速排序2节 21 25 49 25* 16 0 1 2 3 4 25 16 25* 49 21 2次比较 3次比较 49 16 25* 25 21 4次比较 25* 49 16 25 21 1次比较 21 25* 25 16 49 完成一趟起泡排序 宋擦秧脂迎遥螟雏抚下喀耶易蓄馁屎烹蝎苯窑苗秆睹核桔颅吏袍

文档评论(0)

h0r3d7m + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档