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

数据结构排序专题讲座.pdfVIP

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

排序课堂纪要

writtenby传智播客感叹号

排序基本概念

现实生活中排序很重要

算法已写好代码复用和我们需要学习前辈们的经验不,也不代表我们不需要不学习。

排序是计算机内经常进行的一种操作,其目的是将一组“无序”的数据元素调整为“有序”的数据元素。

排序数学定义:假设含n个数据元素的序列为{R1,R2,…,Rn}

其相应的关键字序列为{K1,K2,…,Kn}这些关键字相互之间可以进行比较,即在它们之间存在着这样一

个关系:Kp1≤Kp2≤…≤Kpn

按此固有关系将上式记录序列重新排列为{Rp1,Rp2,…,Rpn}的操作称作排序

排序的稳定性

如果在序列中有两个数据元素r[i]和r[j],它们的关键字k[i]==k[j],且在排序之前,对象

r[i]排在r[j]前面。如果在排序,对象r[i]仍在r[j]前面,则称这个排序方法是稳定的;

否则称这个排序方法是不稳定的。

多关键字排序

排序时需要比较的关键字多余一个

排序结果首先按关键字1进行排序

当关键字1相同时按关键字2进行排序

当关键字n-1相同时按关键字n进行排序

对于多关键字排序,只需要在比较操作时同时考虑多个关键字即可!

排序中的关键操作

比较

任意两个数据元素通过比较操作确定先后次序

交换

数据元间需要交换才能得到预期结果

内排序和外排序

内排序

整个排序过程不需要外存便能完成

外排序

待排序的数据元素数量很大,整个序列的排序过程不可能在内存中完成

排序的审判

时间性能

关键性能差异体现在比较和交换的数量

辅助空间

为完成排序操作需要的额外的空间

必要时可以“空间换时间”

算法的实现复杂性

过于复杂的排序影响代码的可读性和可性,也可能影响排序的性能

总结

排序是数据元素从无序到有序的过程

排序具有稳定性,是选择排序算法的因一

比较和交换是排序的基本操作

多关键字排序与单关键字排序无本质区别

排序的时间性能是区分排序算法好坏的主要因素

选择法

基本思想

每一趟(例如第i趟,i=0,1,…,n-2)在后面n-i个待排的数据元素中选出关键字

最小的元素,作为有序元素序列的第i个元素。

排序过程

首先通过n-1次关键字比较,从n个记录中找出关键字最小的记录,将它与第一个记录

交换

再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将它与第二个记录

交换

重复上述操作,共进行n-1趟排序后,排序结束

排序

基本思想:

元素1个元素,

排序过程:整个排序过程为n-1趟,即先将序列中第1个记录看成是一个有序子序

列,然后从第2个记录开始,逐个进行,直至整个序列有序

实质:对线性表执行n-1次操作,只是先要找到位置

V[0],V[1],…,V[i-1]已经排好序。这时已经排好序。这时,用V[i]的关键字与V[i-1],V[i-

2],…的关键字进行比较,找到位置即将V[i]],原来位置上的对象向后顺移。

排序关键点:1、拿出一个元素,留出位置、2符合条件的元素后移

冒泡排序

排序

排序过程:先取一个正整数d1n,把所有相隔d1的记录放一组,组内进行直接排

序;然后取d2d1,重复上述分组和排序操作;直至di=1,即所有记录放进一个组中排序

为止

O(n-1.3)

Q(nlogn)

排序是不稳定的。

快速排序

思想:

快速排序是对冒泡排序的一种改进。它的基本思想是:

通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一

部分的所有数据都要小,基准数据排在这两个子序列的中间;

然后再按此

文档评论(0)

159****9610 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6044052142000020

1亿VIP精品文档

相关文档