- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构 第11章 外部排序 第11章 外部排序 11.1 外存信息的存取 11.2 外部排序的方法 11.3 多路平衡归并的实现 11.4 置换-选择排序 11.5 最佳归并树 11.1 外存信息的存取 外存信息的存取特点, 决定了外部排序的策略选择。 常用的外存储器有两类:顺序存取的设备(如磁带), 随机存取的设备(如磁盘) 常用的外存储器是磁表面存储器, 信息记录在一薄层磁性材料的表面上, 这层材料附着于载体表面, 随着载体作高速旋转或直线运动, 在运动过程中用磁头进行读或写。 11.1 外存信息的存取 1、磁带信息的存取: 磁带存储器的工作原理和磁带录音机一样, 不同之处在于它存储的是数字信息而不是模拟信息。 磁带上的信息在横向分布、纵向分布以及首尾标志等都一定的格式。 以1/2英寸九道的磁带为例, 每一横排就可表示一个字符(8位+1个校验位)。 纵向按区进行存储, 区的长度不固定, 但有一个范围, 例如2到4096字节, 相邻区之间有一定长度的间隔(IBG, Inter Block Gap), 作为磁带起停之用。 11.1 外存信息的存取 1、磁带信息的存取: 在磁带上读写一块信息所需的时间由两部分组成: TI/O = ta + n tw 其中ta为延迟时间, 即读/写头到达传输信息所在物理快起始位置所需时间; tw为传输一个字符的时间。 显然, 延迟时间和信息在磁带上的位置、当前读/写头所在的位置有关。 所以磁带便宜、可反复使用、是一种顺序存取设备, 但查找费时、速度慢(尤其是查找末端记录时)。 11.1 外存信息的存取 2、磁盘信息的存取: 磁盘是一种直接存取的存储设备(DASD)。 页块的读写时间:TI/O = tseek + tlatency + n twm tseek :寻道时间 tlatency :等待时间 twm :传输时间 11.2 外部排序的方法 外部排序基本上由两个相对独立的阶段组成: 首先, 按可用内存大小, 将外存上含n个记录的文件分成若干长度为l的子文件或段(segment), 依次读入内存并利用有效的内部排序方法对它们进行排序, 并将排序后得到的有序子文件重新写入外存, 通常称这些有序子文件为归并段或顺串(run); 然后, 对这些归并段进行逐躺归并, 使归并段(有序的子文件)逐渐由小至大, 直到得到整个有序文件为止。 11.2 外部排序的方法 例:一文件含10000记录, 通过10次内部排序得到10个初始归并段R1…R10, 其中每一段都含有1000个记录。 然后作两两归并: R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R1’ R2’ R3’ R4’ R5’ R1’’ R2’’ R3’’ R1’’’ R2’’’ 有序文件 由10个初始归并段到一个有序文件, 共进行了4趟归并, 每一趟都从m个归并段得到ceil(m/2)个归并段。这种归并方法称为2-路平衡归并。 11.2 外部排序的方法 外存上信息的读/写是以“物理块”为单位进行的, 假设每个物理块可以容纳200个记录, 则每一趟归并需进行50次“读”和50次“写”, 4趟归并加上内部排序时所需进行的读/写使得在外排序中总共需进行500次读/写。 11.2 外部排序的方法 一般情况:外部排序所需总的时间 = 内部排序(产生初始归并段)所需的时间(m x tIS) + 外存信息读写的时间(d x tIO) + 内部归并所需的时间(s x utmg) 其中: tIS是为得到一个初始归并段进行内部排序所需时间的均值; tIO是进行一次外存读/写时间的均值; utmg是对u个记录进行内部归并所需时间; m为经过内部排序之后得到的初始归并段的个数; s为归并的趟数; d为总的读/写次数。 于是上例进行外排序所需总的时间为:10 tIS + 500 tIO + 4x10000 tmg显然tIO较tmg要大的多, 因此提高外排序的效率应主要着眼于减少外存信息读写的次数d。 11.2 外部排序的方法 d和“归并过程”的关系: 若对上例进行5路平衡归并: R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R1’ R2’ 有序文件 仅需两趟归并, 总的读/写次数便减少为:2x100+100=300比2路归并减少了200次的读/写。 对同一文件
您可能关注的文档
- 中国第二次世界大战史研究30年回顾-爱思想.PDF
- 不同浓度稀土溶液的反射波谱特征研究-成矿作用与资源评价重点试验室.PDF
- 2017年专利资助资金第二批单位资助发放表.PDF
- 一种数字三分量地震微测井仪器设计-地球物理学报.PDF
- 三向外园磨削力仪-福州大学学报.PDF
- 乔姆斯基与福柯理论视域下自闭症儿童语言障碍-南京师大学报社会.PDF
- 产业组织演化理论与实证Theoreticaland-山东大学课程中心.PDF
- 任意分布参数的机械零件的可靠性稳健设计弹簧.PDF
- 二阶电路衰减常数的估计及误差分析-中南民族大学学报自然科学版.PDF
- 不同施工机械碾压下矿区复垦土壤物理性质的变化-山东国土资源杂志社.PDF
原创力文档


文档评论(0)