第10章外部排序.pdfVIP

  1. 1、本文档共27页,可阅读全部内容。
  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文档。上传文档
查看更多

第10章外部排序

10.1外存信息的特性

内部存储器

(内存)

存储器

顺序存取设备(磁带存储器)

外部存储器

(外存)直接存取设备(磁盘存储器)

内存的存储容量小,但工作速度高;外存的存储容量大,

但速度较低。

10.1.1磁带存储器

优点:存储容量大,使用方便,价格便宜。

1.特性:磁带存储器主要由磁带、读/写磁头和磁带驱动器

组成,如下图所示。

目前常用的典型磁带长2400

英尺,宽0.5英寸,厚0.002英

寸。磁带表面上涂有磁性材

料,可分为七道或九道磁带。

七道磁带的每一横排中有六个二进制数据位和一个奇偶校

验位。九道磁带的每一横排中有八个二进制数据位和一个

奇偶校验位。这样的一排二进制数据位组成一个字节。

磁带存储器是一种典型的顺序存取设备。所谓顺序存取,

就是将记录在存储器上一个接一个地依次存放,为得到第i

个记录,必须先读第i-1个记录。

由于磁带机不是连续运转的设备,而是一种启停设备,

所以在启停时间内,不能对磁带进行正常读写,因此磁带上

的信息通常分为若干记录块,块与块之间留有一定的间隙,

该间隙一般为1/4~3/4英寸。

2.分页块存储方法

由上可知,用磁带存储信息时需要在每段信息之间留有空隙,

且此空隙占用了大量的存储空间。为了减少存储空间的浪费,

通常采用把若干个记录组合成页块进行存储的办法,将记录

间的间隙变成页块间的间隙。

10.1.2磁盘存储器

优点:既能进行顺序存取,又能进行直接存取(随即存取)

,并且存取速度快。

1.磁盘存储器的特性

磁盘存储器主要由磁盘组和磁盘驱动器组成。磁盘组

由若干个盘片组成,每个盘片有上下两个面,盘面上涂有

光滑的磁性物质。

盘面上能够存储信息的盘面称为记录面。在记录盘面

上有许多称为磁道的圆圈,信息就记载在磁道上。磁盘驱

动器由主轴和读/写磁头组成,每个盘面都配有一个读/

写磁头。

磁盘可分为固定臂盘和活动臂盘两种。固定臂盘的每个盘面

的每一磁道上都有独立的磁头,它是固定不动的,专门负责

读写某一磁道上的信息。如图:

2.分页块存储法

为了减少访问外存的次数,

一般采用把记录组合成页块的方

式来进行内外存数据的交换。一

个页块(简称块)是磁盘上的一

个物理记录,通常可以容纳多个

逻辑记录,内存中设置的缓冲区

应该与页块的大小相等。每次访

问记录时,需要把一个页块读入

一个缓冲区或者把一个缓冲区的

数据写到一个页块。

10.2外排序的基本方法

最常用的外部排序方法是归并排序法。这种方

法由两个阶段组成:第一阶段是把文件逐段输入到

内存,用有效的内排序方法对文件的各个段进行排

序,经排序的文件段称为顺串(或归并段),当它

们生成后立即写到外存上,这样在外存上就形成了

许多初始顺串;第二阶段是对这些顺串用某种归并

方法(如2路归并法)进行多边归并,使顺串的长度

逐渐由小至大,直至变成一个顺串,即整个文件有

序为止。

10.2.1磁盘排序

1.例子:假设磁盘上存有一文件,共有3600个记录(

A,A,…,A),页块长为200个记录,供排序使用的缓冲区

123600

可提供容纳600个记录的空间,现要对该文件进行排序,排

序过程可按如下步骤进行:

第一步:每次将三个页块(600个记录)由外存读到内存,

进行内排序,整个文件共得到6个初始顺串R~R(每一个

16

顺串占三个页块),然后把它们写回到磁盘上去。内排序

后得到的初始顺串见p260的图10.3所示。

第二步:将供内排序使用的内存缓冲区分为三块相等的部分

(即每块可容纳200个记录),其中两块作为输入缓冲区,一

块作为输出缓冲区,然后对各顺串进行两路归并。归并过程

见p261的图10.4所示。

1

2

3

4

5

6

7

8

9

10

11

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档