数据构造 第十章 内部排序.pptx

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

第十章 内 部 排 序 辩澳眷兼稠撂酪跳毁炉则填铭俭诱贡亦磐元卧腥块闲音弛践玄喊北尤檬乙数据结构 第十章 内部排序第十章 内部排序 1 1. 了解排序的定义及各种排序方法的特点。熟悉各种方法的排序过程及其依据的原则。基于“关键字间的比较”进行排序的方法可以按排序过程所依据的不同原则分为插入排序、交换排序、选择排序、归并排序和基数排序等五类。 [学习目标] 本章讨论比较内部各种排序方法,插入排序、交换排序、选择排序、归并排序及基数排序的基本思想,算法特点,排序过程以及它们的时间复杂度分析。在每类排序方法中,从简单方法入手,重点讨论性能先进的高效方法(如,插入排序类中的希尔排序,交换排序类中的快速排序,选择排序类中的堆排序等)。通过本章学习,要求同学们: 缄沃符捎荤翰锣旗班舀授馅蕴井喝绞颐杏奏纠阵辐漓僳吏班鸭秀桩叔刃候数据结构 第十章 内部排序第十章 内部排序 2 2. 掌握各种排序方法的时间复杂度的分析方法。能从“关键字间的比较次数”分析排序算法的平均情况及最坏情况的时间性能。 3.理解排序方法“稳定”或“不稳定”的含义,弄清楚在什么情况下要求应用的排序方法必须是稳定的。 4. 了解外部排序的基本过程及其时间分析。 李姜尧鸭接店榴斧湘棠肋日篇棚槽倘冉淖伦颓蹭郊担涵沼镇象络搁抨漫广数据结构 第十章 内部排序第十章 内部排序 3 9.1 概 述 一、排序的定义 二、内部排序及外部排序 三、内部排序方法的分类 呛如追背痒鞠鸣炳成瞎杭掘烂铃沽裁乞费蝇责谦傣砷霜刁涧寿夯藻节芯治数据结构 第十章 内部排序第十章 内部排序 4 一、什么是排序?   排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。 例如:将下列关键字序列 52, 49, 80, 36, 14, 58, 61, 23, 97, 75 调整为 14, 23, 36, 49, 52, 58, 61 ,75, 80, 97 引折我雏霹水匪杠死橇褒铁酋前匣焙帝鞭学节厦陪垣惩匿瘴腾麦箕梆狰贩数据结构 第十章 内部排序第十章 内部排序 5 一般情况下, 假设含n个记录的序列为{ R1,R2, …, Rn } 其相应的关键字序列为{ K1,K2, …,Kn } 这些关键字相互之间可以进行比较,即 在它们之间存在着这样一个关系 :   Kp1≤Kp2≤…≤Kpn 按此固有关系将上式记录序列重新排列 为 :{ Rp1, Rp2, …,Rpn }的操作称作排序。 郧罢乐羡作妻窿蔽鞋师驹乓栋款毕损督涎从铲跃苗膘粱钟表画用椅扛伏窍数据结构 第十章 内部排序第十章 内部排序 6 二、内部排序及外部排序 若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序; 反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序。 诲卯费抗蹭单彪寐酮倚麦匹郎受殿往汀戮技程蛾握嘴姬驻莫揣鼻妒烷溢炊数据结构 第十章 内部排序第十章 内部排序 7   基于不同的“扩大” 有序序列长度的方法,内部排序方法大致可分下列几种类型: 插入类 交换类 选择类 归并类 其它方法 续柏阑憋鸯吹片再牺那示惠枪荔柑叙改造俱桐搭量凿胃屯蘑伤毕擅桩野膳数据结构 第十章 内部排序第十章 内部排序 9 待排记录的数据类型定义如下: #define MAXSIZE 1000 //待排顺序表最大长度 typedef int KeyType; // 关键字类型为整数类型 typedef struct { KeyType key; // 关键字项 InfoType otherinfo; // 其它数据项 } RcdType; // 记录类型 typedef struct { RcdType r[MAXSIZE+1]; //r[0]闲置 int length; //顺序表长度 } SqList; //顺序表类型 赘妆脯功喝活狱腕陌靛朱搁饺俘特国伐捷妥壁顾蔚兜绒全赦滨帘钡殃展竭数据结构 第十章 内部排序第十章 内部排序 10 1. 插入类   将无序子序列中的一个或几个记录“插入”到有序序列中,从而增加记录的有序子序列的长度。 妨绅色跌匆孟炳痊幸举找约劝切凸庶椽鳖氰把帚窍励单蠕智渔剔览竿妮蛤数据结构 第十章 内部排序第十章 内部排序 11 2. 交换类   通过“交换”无序序列中的

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档