- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据结构A》第10章(陈春玲)《数据结构A》第10章(陈春玲)
数据结构 第10章 内排序 10.1 基本概念 设有n个数据元素的序列(R0,R1,…,Rn-1),Ki是Ri的关键字。所谓排序,就是找(0,1, …,n-1)的一种排列p(0),p(1), …,p(n-1),使得序列按 K p(0)?Kp(1)?…?Kp(n-1) (非递减) 或 K p(0)?Kp(1)?…?Kp(n-1) (非递增) 次序排列为: ( Rp(0),Rp(1),…,Rp(n-1)) 10.2 简单排序算法 10.3 快速排序 为避免发生最坏情况,选择分割元素时可作三种处理: (1)将A[(left+right)/2]作为分割元素,与A[left]交换; (2)选left到right间的随机整数k,将A[k]与A[left]交换; (3)取A[left]、A[(left+right)/2]和A[right]之中间值与A[left]交换。 对于快速排序: (1)为提高快速排序的效率,将递归程序改为非递归的; (2)为减小栈空间,先对较小的子序列排序,将较大的子序列进栈; 10.4 两路合并排序 基本思想:将有n个元素的序列看成是n个长度为1的有序子序列,然后两两合并子序列,得到?n/2?个长度为2或1的有序子序列;再两两合并,…,直到得到一个长度 为n的有序序列时结束。 初始序列: 48 36 68 72 12 48 02 第1趟:(12 36 02 48) 48 (72 68) 第2趟:(02) 12 (36 48) 48 (72 68) 第3趟: 02 12 36 (48) 48 (72 68) 第4趟: 02 12 36 48 48 68 72 快速排序算法各趟结果 算法要求A[n]=+∞,防止i超界! 为什么要求A[n]=+∞? 88 68 72 36 48 12 02 ∞ 0 1 2 3 4 5 6 7 left right i i向右扫描,寻找 A[i]=A[left]的元素 无限循环 如果每一次分划操作后,左、右两个子序列的长度基本相等,则快速排序的效率最高,其最好情况时间复杂度为O(nlog2n);反之,如果每次分划操作所产生的两个子序列,其中之一为空序列,此时,快速排序效率最低,其最坏情况时间复杂度为O(n2)。如果选择左边第一个元素为分割元素,则快速排序的最坏情况发生在原始序列正向有序或反向有序时。快速排序的平均情况时间复杂度为O(nlog2n)。 系统需要有一个堆栈来实现快速排序递归算法。在最坏情况下,程序12-6所需的系统栈的最大深度为O(n)。为了减少栈空间大小,可在每次分划后,将较大子序列的上、下界进栈,而对较小的子序列先进行排序。这样可使所需的栈空间大小降为O(log2n)。 快速排序是不稳定的排序方法。 初始序列:(48)(36)(68)(72)(12)(48)(02) 第1趟结果: 第2趟结果: 第3趟结果: (68 72) (36 48) (02) (12 48) (02 12 48) (36 48 68 72) (02 12 36 48 48 68 72) Data Structures in C++ 10.1 基本概念 10.2 简单排序算法 10.3 快速排序 10.4 两路合并排序 序列中两个元素Ri和Rj (ij),且Ki=Kj,若排序后仍保持p(i)p(j),即Ri 仍然排在Rj之前,则称所用的排序算法是稳定的。反之,称该排序算法是不稳定的。 3,1,3=1,3,3 3,1,3=1,3,3 如果待排序元素总数相对于内存而言较小,整个排序过程可以在内存中进行,则称之为内部排序;反之,如果待排序元素总数较多,不能全部放入内存,排序过程中需访问外存,则称之为外部排序。本章讨论内部排序。 本章讨论内部排序。 本章采用顺序存储方式,即用一个一维数组A[n+1](n为序列中元素个数)存储序列中各元素的关键字,忽略元素的其它部分,把精力集中在排序算法上。 简单选择排序 冒泡排序 直接插入排序 10.2.1 简单选择排序 基本思想:第1趟在初始序列(A[0]? A[n-1])中找一个最小值,与序列中第一个元素A[0]交换,这样子序列(A[0])有序。 下一趟排序在子序列(A[1]?A[n-1])中进行。 0 1 2 3 4 5
您可能关注的文档
- 《商务网页设计与制作》第一堂课《商务网页设计与制作》第一堂课.ppt
- 《国家药品GMP检查员培训班》文件管理《国家药品GMP检查员培训班》文件管理.ppt
- 《国情、国策、发展战略》课件设计《国情、国策、发展战略》课件设计.ppt
- 《国贸实务实理论与实务》 任冉《国贸实务实理论与实务》 任冉.doc
- 《国酒大酒店质检部管理手册》 2《国酒大酒店质检部管理手册》 2.doc
- 《国际企业管理》期末复习题(开本)14秋《国际企业管理》期末复习题(开本)14秋.doc
- 《国际市场营销学》复习精要《国际市场营销学》复习精要.doc
- 《图片的处理》ppt课件2 七年级信息技术上册《图片的处理》ppt课件2 七年级信息技术上册.ppt
- 《图画应用题》课件(小学一年级数学)《图画应用题》课件(小学一年级数学).ppt
- 《加法运算定律的运用及练习》PPT课件(人教版数学四年级下册)《加法运算定律的运用及练习》PPT课件(人教版数学四年级下册).ppt
- 《文化生活》第一单元测试题-参考答案《文化生活》第一单元测试题-参考答案.ppt
- 《文心雕龙》英译,一个文化的《文心雕龙》英译,一个文化的.ppt
- 《文化创新的途径》教学设计《文化创新的途径》教学设计.doc
- 《斑羚飞渡》阅读练习《斑羚飞渡》阅读练习.ppt
- 《新法下员工奖惩与风险管理》课程培训教材《新法下员工奖惩与风险管理》课程培训教材.ppt
- 《新标准英语》初二下册Module 6 Unit 2说课稿《新标准英语》初二下册Module 6 Unit 2说课稿.doc
- 《方程的根与函数的零点》说课稿《方程的根与函数的零点》说课稿.doc
- 《施工项目管理》学习领域标准《施工项目管理》学习领域标准.doc
- 《时间管理》-最先进的方法《时间管理》-最先进的方法.ppt
- 《明暗与立体的表现》特色教案1《明暗与立体的表现》特色教案1.doc
最近下载
- 幼儿园接送免责协议书范本(2025版).docx VIP
- 2025年最新人教版八年级(初二)数学上册教学计划及进度表(新课标,新教材).docx
- 静脉输液护理创新案例演讲ppt.pptx
- 3.1水循环课件(共22张PPT).pptx VIP
- 国际学校中方教职员工薪酬设计方案.pdf
- 2025年闽教版(2024)小学英语四年级上册(全册)教学设计(附目录P123).docx
- 2025-2026学年岭美版(2024)小学美术二年级上册教学计划及进度表.docx
- 《放射性肠炎》课件:放射性治疗后的肠道并发症.ppt VIP
- 科力达kts-440系列全站仪说明书.pptx
- 昌平区流研所路百善六号路原规划一路百沙路工程环评报告.pdf VIP
文档评论(0)