《数据结构与算法》第九章排序.pptVIP

  1. 1、本文档共71页,可阅读全部内容。
  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文档。上传文档
查看更多

Chapter9

Sorting;1、插入排序〔直接插入排序、希尔排序〕

2、交换排序〔起泡排序、快速排序〕

3、选择排序〔简洁选择排序、堆排序〕

4、归并排序、基数排序;排序:将数据元素的一个任意序列,重新排列成一

个按关键字有序的序列。;设Ki=Kj(1≤i≤n,1≤j≤n,i≠j),且在排序前的序列中Ri领先于Rj〔即ij〕。假设在排序后的序列中Ri仍领先于Rj,则称所用的排序方法是稳定的;反之,则称所用的排序方法是不稳定的。;内部排序和外部排序;9.2插入排序;9.2.1直接插入排序;插入排序举例:;templateclassKeyType,classOtherType

voidInsert(ElemTypeKeyType,OtherTypeelem[],intn)

{//在数组elem中作插入排序

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

{//第i趟插入排序

for(intj=i;j0elem[j].keyelem[j-1].key;j--)

{//将比elem[j]大的元???交换到后面

SwapKeyType,OtherType(elem[j],elem[j-1]);

}

}

};T(n)=O(n2);9.2.2希尔排序〔缩小增量排序〕;0123456789;(1)21254925*1608

21--25*

25--16

49--08;希尔排序特点:;for(inti=n-1;i0;i--)

{

for(intj=0;ji;j++)

{

if(elem[j].keyelem[j+1].key)

elem[j]??elem[j+1]

}

};冒泡排序的时间性能分析;一般取第一个记录;3、快速排序;13;解决方法:

对分割得到的两个子序列递归地执行快速排序。;voidQSort(elem[],intlow,inthigh)

{//对挨次表L中的子序列L.r[low..high]进展快速排序

if(lowhigh){//长度大于1

}

}//QSort;快速排序的时间分析;(1)21254925*1608;9.5选择排序;例;for(j=i+1;jn;j++)

if(elem[j].keyelem[k].key)k=j;;(1)21254925*1608;9.5.2堆排序;堆的定义:;例(96,83,27,38,11,09);堆排序:;81;堆;输出堆顶元素之后,以堆中最终一个元素替代之;然后将根结点值与左、右子树的根结点值进展比较,并与其中小者进展交换;重复上述操作直至叶子结点,将得到新的堆,称这个从堆顶至叶子的调整过程为“筛选”。;例子:关键字序列为42,13,91,23,24,16,05,88,n=8,故从第四个结点开头调整;42;42;42;91;筛选算法:

(假设r[k]的左右子树均为堆,将以r[k]为根的完全二叉树建成大顶堆〕

voidSift(Recordr[],intk,intm)

{i=k;j=2*i;//置i为要筛选的结点,j为i的左孩子

while(j=m)//筛选还没有进展到叶子结点

{if(jmr[j].keyr[j+1].key)j++;

//比较i的左、右孩子,j为较大者

文档评论(0)

实验室仪器管理 + 关注
实名认证
服务提供商

本人在医药行业摸爬滚打10年,做过实验室QC,仪器公司售后技术支持工程师,擅长解答实验室仪器问题,现为一家制药企业仪器管理。

1亿VIP精品文档

相关文档