- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第7章排序7.1概述7.2插入排序7.3交换排序7.4选择排序7.5归并排序7.6外部排序7.7各种内排序方法的比较和选择
7.1.1排序的基本概念所谓排序就是整理文件中记录,使之按关键字递增(或递减)次序排列起来其确切的定义如下:假设含n个记录的序列为{R1,R2,......Rn},其相应的关键字序列为{K1,K2,......Kn}需确定1,2,…,n的一种排列Ri1,Ri2,......Rin,使其相应的关键字满足Ki1≤Ki2≤......≤Kin(或Ki1≥Ki2≥......≥Kin)的关系123457.1概述
排序的对象:排序的对象是文件,它由一组记录组成。每条记录则由一个或若干个数据项(或域)组成01排序运算的依据:所谓关键字项就是可用来标识一个记录的一个或多个组合的数据项。该数据项的值称为关键字(Key)。需注意的是在不易产生混淆时,可将关键字项简称为关键字。用来作排序运算依据的关键字,可以是数字类型,也可以是字符类型。关键字的选取应根据问题的要求而定。027.1概述
7.1.2排序的稳定性当待排序记录的关键字均不相同时,排序结果是惟一的,否则排序结果不惟一。在待排序的文件中,若存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,该排序方法是稳定的;若具有相同关键字的记录之间的相对次序发生变化,则称这种排序方法是不稳定的。排序算法的稳定性是针对所有输入实例而言的。即在所有可能的输入实例中,只要有一个实例使得算法不满足稳定性要求,则该排序算法就是不稳定的。0103027.1概述
7.1概述7.1.3排序的分类按在排序过程中是否涉及数据的内、外存交换来分类,排序大致分为两类,内部排序和外部排序。对于外排序,可以进一步的分为两种方法:合并排序法直接合并排序法对于内排序,按策略进行划分,可以分为:插入排序选择排序交换排序归并排序分配排序
分析排序算法时,传统方法是衡量关键字之间进行比较的次数排序算法分析应该考虑比较的次数和数据移动的次数并不总是需要或是可能确定比较的准确次数,因此只能计算一个近似值可以根据实际条件选择使用哪一种算法7.1.4排序算法分析7.1概述
017.2.1直接插入排序02基本思想03插入算法04Java程序05直接插入排序法的算法分析06算法的时间性能分析07算法的空间复杂度分析08直接插入排序的稳定性7.2插入排序
7.2.2希尔排序基本思想具体算法希尔排序的算法分析增量序列的选择Shell排序的时间性能优于直接插入排序7.2插入排序
希尔排序的时间性能优于直接插入排序的原因:当n值较小时,n和n2的差别也较小,即直接插入排序的最好时间复杂度O(n)和最坏时间复杂度0(n2)差别不大。稳定性当文件初态基本有序时直接插入排序所需的比较和移动次数均较少。在希尔排序开始时增量较大,分组较多,每组的记录数目少,故各组内直接插入较快,后来增量di逐渐缩小,分组数逐渐减少,而各组的记录数目逐渐增多,但由于已经按di-1作为距离排过序,使文件较接近于有序状态,所以新的一趟排序过程也较快。因此,希尔排序在效率上较直接插人排序有较大的改进。希尔排序是一种不稳定排序方法。7.2插入排序
7.3.1冒泡排序基本思想具体算法Java程序冒泡排序的算法分析算法的最好时间复杂度算法的最坏时间复杂度算法的平均时间复杂度为O(n2)算法稳定性7.3交换排序
记住最后一次交换发生位置lastExchange的冒泡排序改变扫描方向的冒泡排序冒泡排序的不对称性造成不对称性的原因改进不对称性的方法12冒泡排序的算法改进7.3交换排序
7.3交换排序7.3.2快速排序1.基本思想2.具体算法3.算法分析(1)最坏时间复杂度(2)最好时间复杂度(3)基准关键字的选取①“三者取中”的规则②取位于low和high之间的随机数k(low≤k≤high),用R[k]作为基准(4)平均时间复杂度(5)空间复杂度(6)稳定性
7.4.1直接选择排序基本思想具体算法直接选择排序的算法分析关键字比较次数记录的移动次数直接选择排序是一个就地排序稳定性分析7.4选择排序
7.4.2堆排序具体算法算法分析基本思想7.4选择排序
基本思想实现方法算法分析稳定性存储结构要求时间复杂度空间复杂度7.5归并排序
您可能关注的文档
- 小学《品德与生活(社会)》课程国家骨干教师培训.pptx
- 国美电器案例分析.pptx
- 因数中间末尾有0的乘法.pptx
- 插花艺术制作篇.pptx
- 实验神经系统的结构和功能.pptx
- 教育资料量的研究.pptx
- 土建结构基本计算原则.pptx
- 打造网商高绩效团队.pptx
- 整合营销传播的六种方法.pptx
- 整数规划问题及分配问题.pptx
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
文档评论(0)