- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[其它]ch10 内部排序
第10章 内部排序 10.1 排序简介 10.2 插入排序 10.3 快速排序 10.4 选择排序 10.5 归并排序 10.6 基数排序 10.7 各种排序方法的比较 本章知识点和要求 各种排序方法的特点并能灵活应用(掌握) 各种方法的排序过程(掌握) 各种排序方法的时间复杂度分析(掌握) 10.1 排序简介 10.1 排序简介 关键字 是数据元素中的某个数据项。如果某个数据项可以唯一地确定一个数据元素,就将其称为主关键字;否则,称为次关键字。 排序 将数据元素的任意序列,重新调整为一个按关键字排列有序的序列. 如:有数据元素序列(r1,r2,r3,r4,r5,r6,r7)其对应关键字值为:(5, 4, 8, 6, 9, 1,21);按关键字非递减排列得新的数据元数排列(r6,r2,r1,r4,r3,r5,r7)的操作. 10.1 排序简介 一般情况下: 假设含n个记录的序列为{ R1, R2, …, Rn } 其相应的关键字序列为 { K1, K2, …,Kn } 这些关键字相互之间可以进行比较,即在它们之间存在着这样一个关系 Kp1≤Kp2≤…≤Kpn 按此固有关系将上式记录序列重新排列为 { Rp1, Rp2, …,Rpn }的操作称作排序。 排序的基本方法 内部排序主要有5种方法:插入、交换、选择、归并和基数。 一趟: 在排序过程中,基本动作执行一次。 排序算法的效率 评价排序算法的效率主要有两点: 一是在数据量规模一定的条件下,算法执行所消耗的平均时间,对于排序操作,时间主要消耗在关键字之间的比较和数据元素的移动上,因此我们可以认为高效率的排序算法应该是尽可能少的比较次数和尽可能少的数据元素移动次数; 二是执行算法所需要的辅助存储空间,辅助存储空间是指在数据量规模一定的条件下,除了存放待排序数据元素占用的存储空间之外,执行算法所需要的其他存储空间,理想的空间效率是算法执行期间所需要的辅助空间与待排序的数据量无关。 10. 2 插 入 排 序 插入排序的思路 不断地将待排序的数值插入到有序段(序列)中,使有序段(序列)逐渐扩大,直至所有数值都进入有序段中位置。 直接插入排序 折半插入排序 希尔排序 直接插入排序 首先将待排序记录序列中的第一个记录作为一个有序段; 将记录序列中的第二个记录插入到上述有序段中形成由两个记录组成的有序段; 再将记录序列中的第三个记录插入到这个有序段中,形成由三个记录组成的有序段; …依此类推,每一趟都是将一个记录插入到前面的有序段中,假设当前欲处理第i个记录,则应该将这个记录插入到由前i-1个记录组成的有序段中,从而形成一个由i个记录组成的按关键字值排列的有序序列,直到所有记录都插入到有序段中。 一共需要经过n-1趟就可以将初始序列的n个记录重新排列成按关键字值大小排列的有序序列。 折半插入排序 思想:用折半查找方法确定插入位置的排序叫~ 从上述过程可以看出:折半插入排序仅减少了关键字之间的比较次数,而记录的移动次数不变. 算法描述 作 业 1.习题册 第9章习题2,4(1)(2) 2.有一随机数{25,84,21,46,13,27,68,35,20,23,11,12}采用希尔排序方法对它们排序,写出每趟排序的过程。其中di =di-1/2, d0=7 2.在执行某种排序算法的过程中出现了排序的关键字朝着最终排序序列相反的方向移动,从而认为该排序算法是不稳定的,这种说法对吗?为什么? 2.答:这种说法不对。因为排序的不稳定性是指两个关键字值相同的元素的相对次序在排序前、后发生了变化,而题中叙述和排序中稳定性的定义无关,所以此说法不对。对4,3,2,1起泡排序就可否定本题结论。 4.试问:对于初始状态如下的各个序列(长度为n)进行直接插入排序时,至多需要进行多少次关键字间的比较(要求按照正序排序)? (1)关键字按照升序有序; (2)关键字按照逆序有序; (1)n-1;(2)(n+2)(n-1)/2; 10.3 交换排序 冒泡排序 排序过程 将第一个记录的关键字与第二个记录的关键字进行比较,若为逆序r[1].keyr[2].key,则交换;然后比较第二个记录与第三个记录;依次类推,直至第n-1个记录和第n个记录比较为止——第一趟冒泡排序,结果关键字最大的记录被安置在最后一个记录上 对前n-1个记录进行第二趟冒泡排序,结果使关键字次大的记录被安置在第n-1个记录位置 重复上述过程,直到“在一趟排序过程中没有进行过交换记录的操作”为止 算法描述 快速排序 快速排序由霍尔(Hoare)提出,它是一种对冒泡排序的改进。由于其排序速度快,因此称快速排序(quick sort)
您可能关注的文档
- [信息与通信]光模块的主要功能.ppt
- [信息与通信]光纤通信技术 5.ppt
- [信息与通信]光通讯基本知识与理论培训.ppt
- [信息与通信]初E 颜业峰.doc
- [信息与通信]分布式基站原理与应用606.ppt
- [信息与通信]利用有限元素与田口方法探讨FCCSP构装无铅锡球之最佳化疲劳寿命.ppt
- [信息与通信]半导体器件基础知识.ppt
- [信息与通信]北方民族大学PLC第04章.ppt
- [信息与通信]半导体集成电路 绪论.ppt
- [信息与通信]华东理工微机原理.ppt
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
最近下载
- [广东]38.8m宽钢箱梁图纸100张(梁高4.5m).pdf
- 惠州市教育局招聘市直公办中小学教师考试试题及答案.pdf
- 中国近代文学史重点课件讲义.doc VIP
- 2023年惠州市教育局招聘市直公办中小学教师考试真题及答案.pdf
- 专题19解答题压轴题纯含参二次函数问题(原卷版+解析).docx VIP
- 2023-2024学年广东省惠州市惠城区南山学校六年级(上)期中数学试卷(含解析).doc VIP
- 广东省惠州市惠城区大湖学校六年级(上)期中数学试卷.doc VIP
- 糖尿病中医防治指南解读详解.ppt
- 广东省惠州市惠城区2021-2022学年六年级上学期语文期中试卷.pdf VIP
- 部编版语文二年级上册第六单元教材解读大单元集体备课.pptx VIP
文档评论(0)