网站大量收购闲置独家精品文档,联系QQ:2885784924

数据结构-排序.pptVIP

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

第9章排序;目录;9.1根本概念;9.2插入排序;例如,n=6,数组R的六个排序码分别为:17,3,25,14,20,9。它的直接插入排序的执行过程如下:;voidD-InsertSort(datatypeR[],intn)

/*待排序的n个元素放在数组R中,用直接插入法进行排序*/

{for(i=2;i=n;i++)/*i控制第i-1次插入,最多进行n-1次插入*/

if(R[i].keyR[i-1].key)/*小于时,需将R[i]插入有序表*/

{R[0]=R[i];/*为统一算法设置监视哨*/

for(j=i-1;R[0].keyR[j].key;j--)

R[j+1]=R[j];/*元素后移*/

R[j+1]=R[0];/*将放在R[0]中的第i个元素插入到有序表中*/

}

};直接插入排序的效率分析;9.2.2希尔排序(缩小增量排序);八个元素的关键码分别为:91,67,35,62,29,72,46,57,希尔排序算法的执行过程为:;希尔排序算法;希尔排序的效率分析;9.3交换排序

主要是通过排序表中两个记录关键码的比较,假设与排序要求相逆〔不符合升序或降序〕,那么将两者交换。;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;冒泡排序算法的实现

voidBubble-sort(datatypeR[],intn)

{inti,j,swap;/*当swap为0那么停止排序*/

for(i=1;in;i++)/*i表示趟数,最多n-1趟*/

{swap=0;/*开始时元素未交换*/

for(j=1;j=n-i;j++)

if(R[j].keyR[j+1].key)/*发生逆序*/

{R[0]=R[j];R[j]=R[j+1];R[j+1]=R[0];

swap=1;}/*交换,并标记发生了交换*/

if(swap==0)break;}

};冒泡排序的效率分析

从冒泡排序的算法可以看出,假设待排序的元素为正序,那么只需进行一趟排序,比较次数为〔n-1〕次,移动元素次数为0;假设待排序的元素为逆序,那么需进行n-1趟排序,比较次数为(n2-n)/2,移动次数为3(n2-n)/2,因此冒泡排序算法的时间复杂度为O〔n2〕。由于其中的元素移动较多,所以属于内排序中速度较慢的一种。

因为冒泡排序算法只进行元素间的顺序移动,所以是一个稳定的算法。;9.3.2快速排序(分区交换排序);一次划分的具体过程;例;;;;;;;;;;;快速排序算法;快速排序的递归树;快速排序的时间复杂度;快速排序的空间???杂度及稳定性;9.4选择排序;9.4.1简单项选择择排序;49;VoidSelect-Sort(datatypeR[],intn)

/*对R[1]到R[n]的元素进行排序*/

{for(i=1;in;i++)

{k=i;

for(j=i+1;j=n;j++)

if(R[j].keyR[k].key)k=j;

if(k!=i)

{R[0]=R[k];

R[k]=R[i];

R[i]=R[0];

}

}

};简单项选择择排序的效率分析;选择排序——堆排序的引入;(a)求出最小关键字3(b)求出次小关键字11

图8.8树形选择排序;树形选择排序总的比较次数为O(nlog2n),与直接选择排序比较,减少了比较次数,但需要增加额外的存储空间存放中间比较结果和排序结果。;堆排序

1.堆的定义

;小顶堆和大顶堆例如;2.堆排序的根本思想;堆排序的两大步骤;堆排序的关键问题;堆排序的关键问题;堆排序例如(以大顶堆为例);堆排序例如(以大顶堆为例);30

1;30

1;30

1;30

1;70

1;

;

;

;

;

;

;

文档评论(0)

147****4268 + 关注
实名认证
文档贡献者

认真 负责 是我的态度

1亿VIP精品文档

相关文档