- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.1 概 述 排序定义——将一组无序数据元素(或记录)按其关键字大小递增(升序)或递减(降序)的顺序排列。 排序基本操作 比较两个关键字大小 将记录从一个位置移动到另一个位置 排序方法 插入排序:直接插入排序、折半插入排序、希尔排序 交换排序:冒泡排序、快速排序 选择排序:简单选择排序、堆排序 归并排序:2-路归并排序 基数排序 排序的几个基本概念 排序算法的稳定性 :关键字相同的数据对象在排序过程中是否保持前后次序不变。如 2, 2*,1,排序后若为1, 2*, 2 则该排序方法是不稳定的。 内排序与外排序:排序过程是否全部在内存进行。 排序的时间开销 :它是衡量算法好坏的最重要的标志。通常用算法执行中的关键字比较次数和数据移动次数来衡量。 待排序记录的存储方式:顺序存储、链接存储。 说明:在本章中,若无特别声明,均假定是按升序排序,且以顺序存储结构存储记录。 直接插入排序(Insert Sort) 直接插入排序举例: i (0) (1) (2) (3) (4) (5) (6) 25 [21] 25 49 25* 16 08 1 49 [21 25] 49 25* 16 08 2 25* [21 25 49] 25* 16 08 3 16 [21 25 25* 49] 16 08 4 08 [16 21 25 25* 49] 08 5 [08 16 21 25 25* 49] 直接插入排序算法由两重循环组成,对于有n个记录的排序,整个过程执行(n-1)趟排序.内循环表明完成一趟排序所需进行的记录关键字间的比较和记录的后移。 算法比较与移动次数与记录初始排列有关.若正序则是最好情况。每一趟排序中仅需进行一次关键字的比较,所以总的比较次数为n-1。在while循环之前和之中,至少要移动记录两次,所以总的移动次数为2(n-1)。若逆序则是最坏情况。这时的记录比较和移动次数分别为: 直接插入排序的稳定性: 直接插入排序是一种稳定的排序方法。关键字相同的两个对象,在整个排序过程中,不会通过比较而相互交换。 8.3 交换排序 起泡排序的基本过程 假设待排序的n个对象的序列为V[0],V[1],..., V[n-1],起始时排序范围是从V[0]到V[n-1] 在当前的排序范围之内,自右至左对相邻的两个结点依次进行比较,让值较大的结点往下移(下沉),让值较小的结点往上移(上冒)。每趟起泡都能保证值最小的结点上移至最左边,下一遍的排序范围为从下一结点到V[n-1]。 在整个排序过程中,最多执行(n-1)遍。但执行的遍数可能少于(n-1),这是因为在执行某一遍的各次比较没有出现结点交换时,则结束。 起泡排序示例 i (0) (1) (2) (3) (4) (5) 21 25 49 25* 16 08 1 08 21 25 49 25* 16 2 08 16 21 25 49 25* 3 08 16 21 25 25* 49 4 08 16 21 25 25* 49 起泡排序的时间复杂度: 8.4 选择排序 直接选择排序的基本过程: (1) 在一组对象V[i]到V[n-1]中选择具有最小关键字的对象; (2) 若它不是这组对象中的第一个对象,则将它与这组对象中的第一个对象对调; (3) 删除具有最小关键字的对象,在剩下的对象中重复第(1)、(2)步,直到剩余对象只有一个为止。 直接选择排序示例 直接选择排序的时间复杂度: 快速排序的基本过程: 快速排序法是一种所需比较次数较少,目前在内部排序中速度较快的方法。 其思想是取待排序的结点序列中某个结点的值作为基准,采用某种方法把这个结点放到适当的位置,使得这个位置的左边的所有结点的值都小于等于这个基准,而这个位置的右边的所有结点的值都大于等于这个基准。 快速排序示例 快速排序的时间复杂度 * 概述 插入排序 交换排序
您可能关注的文档
最近下载
- 2025年扬州工业职业技术学院单招语文测试模拟题库最新.docx VIP
- 部编高教版2023·职业模块 中职语文 口语交际《讲解》.pptx
- 2025年苏州工业职业技术学院单招职业技能测试题库最新.docx VIP
- 最后一个克林索尔克林索尔.PDF VIP
- 产业小镇案例:华夏幸福大厂影视小镇.pptx
- 2025年苏州经贸职业技术学院单招职业适应性测试题库最新.docx VIP
- 2024年安徽省阜阳市《保安员证》考试题库含答案通用完整版.pdf
- 2025年苏州经贸职业技术学院单招(语文)测试模拟题库最新.docx VIP
- 2025年苏州信息职业技术学院单招(语文)测试模拟题库最新.docx VIP
- 网格员考试公共基础知识题库.pdf
文档评论(0)