- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 3 2 1 4 4、置换-选择排序 5、败者树实现置换-选择排序 5 2 29 0 1 0 51、49、39、46、38、29、14、61、15 46 1 39 1 49 1 51 1 29 1 38 1 5 4 3 3 2 0 4 4、置换-选择排序 5、败者树实现置换-选择排序 5 2 29 38 0 1 1 51、49、39、46、38、29、14、61、15 46 1 39 1 49 1 51 1 14 2 38 1 5 4 3 1 2 0 4 4、置换-选择排序 5、败者树实现置换-选择排序 5 2 29 38 39 0 1 3 51、49、39、46、38、29、14、61、15 46 1 39 1 49 1 51 1 14 2 61 1 5 4 3 1 2 0 4 4、置换-选择排序 5、败者树实现置换-选择排序 5 3 29 38 39 46 0 1 2 51、49、39、46、38、29、14、61、15 46 1 15 2 49 1 51 1 14 2 61 1 5 4 3 注意:在全部的 段号标志变成 2 之后,合并段 1 的记录已全部生 成。 ?K 值越大越好吗! 5、最佳归并树 1、最佳归并树 起因:由于初始归并段通常不等长,进行归并时,长度不同的初始归并段归并的顺序不同,读写外存的总次数也不同。 目的:减少读写外存的次数。 e.g:假定由置换-选择分类法生成了 9 个初始归并段,记录数分别为 9、30、12、18、3、17、2、6、24 。如果进行 3-路归并,请讨论在各种情况下的对外存的读写次数。 30 12 9 3 17 18 6 24 2 51 38 32 121 从外存读 121 个记录 写入外存 121 个记录 从外存读 121 个记录 写入外存 121 个记录 A. 总共读写外存 484 个记录 5、最佳归并树 1、最佳归并树 6 2 3 9 24 17 18 30 11 32 59 121 从外存读 11 个记录 写入外存 11 个记录 从外存读 91个记录 写入外存 121 个记录 B. 写入外存 91 个记录 从外存读 121 个记录 12 总共读写外存 446 个记录 5、最佳归并树 3 2 6 9 24 17 18 12 5 20 47 91 C. 总共读写外存 326 个记录 按照 HUFFMAN 树的思想,记录少的段最先合并。不够时增加虚段。如下例所示。 从外存读 5个记录 写入外存 11 个记录 从外存读 91个记录 写入外存 67 个记录 写入外存 91 个记录 虚段的补法: 在 K 路平衡归并时,它的归并树的模型是一棵度为 K 的树。在这棵树上的结点要么是叶子,要么是具有 K 个子女的内部结点。设具有 K 个子女的内部结点共有 nk 个。初始归并段的个数为 m 个。设 n = nk + m ,故:从结点出发的枝条,共计有K × nk 个。若从进入结点的角度进行考虑,则共有: nk + m - 1 注意:没有枝条进入根结点。 所以, K × nk = nk + m - 1 于是: nk = ( m - 1 ) / ( K - 1) 这就意味着,若 ( m - 1 ) MOD ( K - 1) = 0,无需增加虚段。否则,要增加虚段,其数目为: ( K-1)- ( m - 1 ) MOD ( K - 1) 限制: 由于磁带寻找具有最少记录的初始归并段,必须反复倒带。所以,实用性不强。 在磁盘的情况下,需要有段包含的记录数信息、段的位置信息等。文件如集中放置在几个相邻的柱面上的情况比较合适。 本章小结 1.了解外存信息的存取方法,磁带和磁盘的特点 2.掌握外部排序的方法 3.了解最佳归并树的概念 多路平衡归并的实现 置换-选择排序 * Thank you! 实例:输入文件FI中记录关键字为:51、49、39、46、38、29、14、61、15、30、1、48、52、3、63、27、4、13、89、24、46、58、33、76,假定使用的内存可容纳 6 个记录,利用置换-选择分类法产生初始合并段。 51 49 39 46 38 29 14 61 15 30 1 48 52 3 63 27 4 13 89 24 46 58 33 76 FI 51 49 46 39 14 61 WA 29 38 FO 实例:输入文件FI中记录关键字为:51、49、39、46、38、29、14、61、15、30、1、48、52、3、63、27、4、13、8
原创力文档


文档评论(0)