- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第8章排序;归并:将两个或两个以上的有序表组合成一个新有序表;将两个有序表合并成一个有序表;思考;初始关键字:[49][38][65][97][76][13][27];对n个记录进行归并排序,归并趟数的数量级是;时间效率O(nlog2n)
空间效率O(n)
稳定性稳定;前面的排序方法主要通过关键字值之间的比较和移动
而基数排序不需要关键字之间的比较
利用多关键字排序方法进行排序;对52张扑克牌按以下次序排序:
?2?3……?A?2?3……?A
?2?3……?A?2?3……?A
两个关键字:花色(????)
面值(23……A)
并且“花色”地位高于“面值”;用链表作存储结构的基数排序
每一位作为关键字。
;最高位优先MSD(MostSignificantDigitfirst)
最低位优先LSD(LeastSignificantDigitfirst);;先对最高位关键字k1排序,将序列分成若干子序列,每个子序列有相同的k1值;
然后让每个子序列对次关键字k2(如面值)排序,又分成若干更小的子序列;
依次重复,直至就每个子序列对最低位关键字kd排序,就可以得到一个有序的序列。;首先依据最低位对所有记录进行一趟排序
再依据次低位对上一趟排序结果排序
依次重复,直到最后一趟排序完成,就可以得到一个有序的序列。;例如;先决条件:
知道各级关键字的主次关系
知道各级关键字的取值范围
;过程
首先对低位关键字排序,各个记录按照此位关键字的值‘分配’到相应的序列里。
按照序列对应的值的大小,从各个序列中将记录‘收集’,收集后的序列按照此位关键字有序。
在此基础上,对下一位关键字进行排序。;278;505;008;设置10个队列,f[i]和e[i]分别头指针和尾指针
第一趟分配对最低位关键字(个位)进行,改变记录的指针值,将链表中记录分配至10个链队列中,每个队列记录的关键字的个位相同
第一趟收集是改变所有非空队列的队尾记录的指针域,令其指向下一个非空队列的队头记录,重新将10个队列链成一个链表
重复上述两步,进行第二趟、第三趟分配和收集,分别对十位、百位进行,最后得到一个有序序列;给出关键字序列{321,156,57,46,28,7,331,33,34,63},下面哪个选择是按次位优先(LSD)链式基数排序进行了一趟分配和收集的结果?;n个记录
每个记录有d位关键字
关键字取值范围rd(如十进制为10);需要2rd个队列指针,链表增加n个指针域。;(数据不是顺次后移时将导致方法不稳定);为避免顺序存储时大量移动记录的时间开销,可考虑用链表作为存储结构
直接插入排序、归并排序、基数排序;1.平均的时间性能;2.当待排记录序列按关键字顺序有序时;指的是排序过程中所需的辅助空间大小;3.归并排序所需辅助空间最多,其空间复杂度为O(n);;1.稳定的排序方法指的是,对于两个关键字相等的记录,它们在序列中的相对位置,在排序之前和经过排序之后,没有改变。;3.对于不稳定的排序方法,只要能举出一个实例说明即可。;(1)分布随机,稳定性不做要求,则采用快速排序
(2)内存允许,要求排序稳定时,则采用归并排序
(3)可能会出现正序或逆序,稳定性不做要求,则采用堆排序或归并排序;(1)基本有序,则采用直接插入排序
(2)分布随机,则采用简单选择排序,若排序码不接近逆序,也可以采用直接插入排序;本章讨论的各种排序方法,除基数排序外,其它方法都是基于“比较关键字”进行排序的排序方法。;;一般情况下,对n个关键字进行排序,可能得到的结果有n!种,由于含n!个叶子结点的二叉树的深度不小于?log2(n!)?+1,则对n个关键字进行排序的比较次数至少是?log2(n!)??nlog2n(斯蒂林近似公式)。;归并排序算法是稳定的排序方法。;将序列{2,12,16,88,5,10,34}排序。若前2趟排序的结果如下:
第1趟排序后:2,12,16,10,5,34,88
第2趟排序后:2,5,10,12,16,34,88
则可能的排序算法是:;选择一个排序算法时,除算法的时空效率外,还需要考虑的是:
I、数据的规模
II、数据的存储方式
III、算法的稳定性
IV、数据的初始状态;在基于比较的排序算法中,哪种算法的最坏情况下的时间复杂度不高于O(NlogN)??;下面四种排序算法中,稳定的算法是??;就排序算法所用的辅助空间而言,堆排序、快速排序、归并排序的关系是:
您可能关注的文档
- (20)--3.室内设计照明基础知识.ppt
- (20)--4.2.3 宏量营养素-4.2脂类-4.2.3 深海鱼油中有什么.ppt
- (20)--10 电存储技术1 DRAM与SRAM2159数据存储那些事儿.doc
- (20)--第6章 查找-B树数据结构.ppt
- (20)--第二章第七节线性表的应用.pdf
- (21)--2.2.4管路的工作特性.ppt
- (21)--3.室内设计的学习方法.ppt
- (21)--4.2.4 宏量营养素-4.2脂类-4.2.4 氢化植物油对人体.ppt
- (21)--11 电存储技术2 ROM2272数据存储那些事儿.doc
- (21)--第2章线性表第6讲-循环链表数据结构.pdf
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 《第一单元 生活中的音乐学习项目二 音乐开启心灵之窗》教案(表格式)七年级音乐人教版(2024新版).pdf VIP
- 成功标书大餐——15份浙江省自然科学基金申请书.pdf VIP
- (辽宁富士电梯)系统故障代码及说明.doc VIP
- 2025版高考政治全程一轮复习必修2第一单元生产资料所有制与经济体制第一课我国的生产资料所有制课件.pptx VIP
- 陕西省专业技术人员继续教育2025公需课《党的二十届三中全会精神解读与高质量发展》20学时题库及答案.docx VIP
- 伤口换药护理操作.pptx VIP
- 贵州01-贵州省居住建筑节能设计标准DBJ52-49-20082.pptx VIP
- 《2023年度中国展览数据统计报告》.docx
- 城市名居商住楼房地产估价报告.doc VIP
- [说明]富士变频器维修与故障处理.doc VIP
文档评论(0)