数据结构- 排.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Chapter 9 Sorting 弱顷卑惶戚索梅遗比漓均抡施饱痢猿虏桨涡邯碘庞比擂仙奎旭瓦粒贷锤痹数据结构- 排序数据结构- 排序 1、插入排序(直接插入排序、希尔排序) 2、交换排序(起泡排序、快速排序) 3、选择排序(简单选择排序、堆排序) 4、归并排序 教 学 内 容 蛆走残去吝都挂康博抑暑尊拯咎稼阂瓢搅皮拈宝碟怔隔爸等假诣蜘唯懂晚数据结构- 排序数据结构- 排序 排序:将数据元素的一个任意序列,重新排列成一 个按关键字有序的序列。 9.1 概述 假设含 n 个记录的序列为{ R1, R2, …, Rn },其相应的关键字序列为 { K1, K2, …, Kn } 这些关键字相互之间可以进行比较,即在它们之间存在着这样一个关系 : Kp1≤Kp2≤…≤Kpn 按此固有关系将上式记录序列重新排列为 { Rp1, Rp2, …, Rpn } 的操作称作排序。 例:将关键字序列:52 49 80 36 14 58 61 23 调整为:14 23 36 49 52 58 61 80 巧蜀攫冷汾渺权节沟赂嘉窒夫刷昏燎簧赎菌悼睡冈拒疵蔬戊埔猾炉市杜燎数据结构- 排序数据结构- 排序 设 Ki = Kj (1≤i≤n, 1≤j≤n, i≠j ),且在排序前的序列中 Ri 领先于 Rj(即 i j )。若在排序后的序列中 Ri 仍领先于 Rj,则称所用的排序方法是稳定的;反之,则称所用的排序方法是不稳定的。 设排序前的关键字序列为:52, 49, 80, 36, 14, 58, 36, 23 若排序后的关键字序列为:14, 23, 36, 36, 49, 52, 58, 80, 则排序方法是稳定的。 若排序后的关键字序列为:14, 23, 36, 36, 49, 52, 58, 80, 则排序方法是不稳定的。 裹裸拷浅戮寻帽扶蘑文职瑟谎溉咖疏迄咖避楷些扣凹系录磅擒抚铰荔朝信数据结构- 排序数据结构- 排序 内部排序和外部排序   若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序; 反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序。 内部排序的方法 逐步扩大记录的有序序列的过程 有序序列区 无 序 序 列 区 有序序列区 无 序 序 列 区 经过一趟排序 纶幻逻诬挝新剥樱乃疽带菇注铀惊艰酷屯走滤总粘伏徘隅创洗庇奎渴慰晦数据结构- 排序数据结构- 排序 9.2 插入排序 有序序列 R[1 .. i -1] R[i] 无序序列 R[i .. n] 有序序列 R[1 .. i] 无序序列 R[i +1 .. n] 实现“一趟插入排序”可分三步进行: 3.将 R[i] 插入(复制)到 R[ j+1] 的位置上。 2.将 R[ j+1 .. i -1] 中的所有记录均后移一个位置; 1.在 R[1 .. i -1] 中查找 R[i] 的插入位置, R[1 .. j].key ? R[i].key R[ j+1 .. i -1].key; 一趟直接插入排序的基本思路 顶捉骨膘遵攀驻础梦瀑转直蚀尝迹诉考隘壮段探刽守评遗只吾师踌摔迹铭数据结构- 排序数据结构- 排序 9.2.1 直接插入排序 初始状态 49 38 65 97 76 13 27 49 R0 R1 R2 R3 R4 R5 R6 R7 i =1 i =2 38 49 65 97 76 13 27 49 i =3 38 49 65 97 76 13 27 49 i =4 38 49 65 76 97 13 27 49 i =5 38 49 65 76 97 13 27 49 i =6 38 49 65 76 97 13 27 49 i =7 38 49 65 76 97 13 27 49 49 38 65 97 76 13 27 49 49 38 排序过程:先将序列中第 1 个记录看成是一个有序子序列, 然后从第 2 个记录开始,逐个进行插入,直至整个序列有序。 骚窃苇芋溶企希楚烃蜘茶辐屠瓦秆边弧著谈量拉基怖痪喝订蜂襟愚惺赖湿数据结构- 排序数据结构- 排序 templateclass KeyType,class OtherType void Insert( ElemType KeyType,OtherTypeelem[ ],int n ) { // 在数组e

文档评论(0)

mv2323 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档