算法与数据结构_DSC11资料.pptVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法与数据结构_DSC11资料

第十一章. 外部排序 (Chapter 11. External Sorting);二、磁盘信息的存取:;§11.2 外部排序的方法; 一般情况下,外部排序所需的总时间由三部分构成:内部排序(产生初始归并段)所需时间( m * tIS )、外存信息读写时间( d * tIO )、内部归并所需时间( s * u tmg )。其中 tIS 是为得到一个初始归并段进行内部排序所序的平均时间, tIO 是进行一次外存读写的平均时间, u tmg 是对 u 个记录进行内部归并所需的时间,m 为初始归并段的个数,s 为归并的趟数,d 为总的读写次数。 但由于访问外存储器的时间开销太大,即 tIO 远远大于 tmg ,因此,要提高外部排序速度,就必须减少访问外存的次数。; 利用败者树( tree of loser )可解决这一问题:类似于锦标赛排序的思想,在进行 k 路平衡归并时 ,将相互比较过的关键字值较大的初始归并段号(败者)留在树结点中,将关键字值较小的初始归并段号(胜者)上传,直到找到最终的胜者(最小值的段号);将其归并后,其下一记录将替换它参加新的一轮比赛以找到新的最小值段号;反复此过程,直至全部 k 个初始归并段合并成一个有序序列为止。此时的归并时间为 log2m (n-1) tmg,与 k 无关,但 k 也并非越大越好。;5; 利用置换-选择排序(replacement-selection sort)可以达到这个目的(也用败者树实现):; 设计算机工作区大小为 W = 5,试给出下面待排序列利用置换-选择排序得到的初始归并段:{23,45,12,5,2,6,27,39,16,44,55,24,1,13,78,123,4,21,66,168,35,3,18,33,96,51,49,72,22,41}。; 那么,利用置换-选择排序到底能使初始归并段的长度增加多少呢?;§11.5 缓冲区及并行操作;§11.6 最佳归并树;作 业 34. 已知某文件经过置换-选择排序之后,得到长度分别为 47,9,39,18,4,12,23 和 7 的八个初始归并段。 试为 3-路平衡归并设计一个读写外存次数最少的归并方案,并求出总的读写外存次数。 ;§11.7 磁带归并排序; 仔细分析一下磁带 k-路平衡归并可以发现,其实只执行一趟 k-路归并并不需要 2k 台磁带机,只需 k + 1 台磁带机即可,多余的磁带机目的是为了下一趟归并。当然,只?? k + 1 台磁带机也能实现 k-路平衡归并,即在每趟归并完后,再将各输出归并段(在同一磁带机上)分配到 k 台磁带机上用于下一趟归并。但这需要花费很多时间,有没有更好的办法呢?; 设有 4 台磁带机和 17 个初始归并段,采用 3-路多步归并排序,其归并过程为:;那么,初始归并段又是如何分配在各磁带机上的呢?

文档评论(0)

LOVE爱 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5341224344000002

1亿VIP精品文档

相关文档