数据结构-(公开课件).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10.1 外部排序 1. 问题的提出 待排序的记录数量很大,不能一次装入内存,则无法利用前几节讨论的排序方法(否则将引起频繁 访问内存); 对外存中数据的读/写以“数据块”为单位进行; 读/写外存中一个“数据块”的数据所需要的时间为: TI/O = tseek + tla + n·twm 其中:tseek为寻查时间(查找该数据块所在磁道)    tla 为等待(延迟)时间    n·twm 为传输数据块中n个记录的时间 2. 外部排序的基本过程   由相对独立的两个步骤组成: 按可用内存大小,利用内部排序的方法,构造若干(记录的)有序子序列,通常称外存中这些记录有序子序列为“归并段”; 通过“归并”,逐步扩大(记录的)有序子序列的长度,直至外存中整个记录序列按关键字有序为止。 例如:假设有一个含10,000个记录的磁盘文件,而当前所用的计算机一次只能对1,000个记录进行内部排序,则首先利用内部排序的方法得到10个初始归并段,然后进行逐趟归并。   假设进行 2—路归并(即两两归并),则     第一趟由10个归并段得到5个归并段;     第二趟由 5 个归并段得到3个归并段;     第三趟由 3 个归并段得到2个归并段;     最后一趟归并得到整个记录的有序序列。 分析上述外排过程中访问外存(对外存进行读/写)的次数:   假设“数据块”的大小为200,即每一次访问外存可以读/写200个记录。   则对于10,000个记录,处理一遍需访问外存100次(读和写各50次)。   由此,对上述例子而言,     1. 求得10个初始归并段需访问外存100次;     2. 每进行一趟归并需访问外存100次;     3. 总计访问外存 100 + 4*100 = 500次。 外排总的时间还应包括内部排序所需时间和逐趟归并时进行内部归并的时间,显然,除去内部排序的因素外,外部排序的时间取决于逐趟归并所需进行的“趟数”。   例如,若对上述例子采用5—路归并,则只需进行2趟归并,总的访问外存的次数将压缩到 100+ 2*100 = 300 次   一般情况下,假设待排记录序列含m个初始归并段,外排时采用k—路归并,则归并趟数为 ,显然,随之k的增大归并的趟数将减少,因此对外排而言,通常采用多路归并。k的大小可选,但需综合考虑各种因素。 * 淮海工学院 计算机课程 第10章 外部排序 12.1 文件 12.2 文件的索引结构 12.1 文 件 文件是逻辑上相关的记录的集合。通常一个文件的各个记录是按照某种次序排列起来的,这种次序可以是记录中关键字值的大小次序,也可以是各个记录存入文件的时间先后次序。这样,各记录间自然形成一种线性关系。所以一般情况下,文件被看成是一种线性结构。 有两种不同类型的文件:操作系统文件和数据库文件。操作系统文件仅仅是一维的连续的字符序列,无结构无解释,它也可以看成是记录的集合,每个记录仅仅是一个字符组,每组信息称为一个逻辑记录,且可以按顺序编号以方便存取和处理。数据库是用文件组织起来的可共享的数据的集合。文件是数据库的基本成分。数据库文件是带有结构的记录的集合。这类记录本身是由一个或多个数据项组成的。这里的记录同样是逻辑记录。逻辑记录是从用户角度看到的记录,组成的文件称为逻辑文件(logical file)。 文件是存在外存储器上的。为了有效分配外存空间,我们可以将多个扇区构成一个簇(cluster)。簇是文件的最小分配单位。簇的大小由操作系统决定。文件管理器(file manager)是操作系统的一部分,它负责记录一个文件由哪些簇组成。UNIX操作系统按扇区分配文件空间,并称之为块(block)。为了与逻辑文件和文件的逻辑记录相对应,文件存储器上的文件称为物理文件(physical file),一簇或块(物理块)中的信息称为物理记录。用户读/写的记录是指逻辑记录,查找该逻辑记录所在的物理块是操作系统的职责。 1. 文件的组织方式 文件结构(file structure)是用于组织存储在外存上的数据的一种数据表示方法。文件结构的原则是使磁盘访问次数最少。与前面讨论的表一样,文件可以有多种不同的组织方式。主要的文件组织方式(即文件结构)有:顺序文件、散列文件、索引文件和倒排文件。 (1). 顺序文件 从本质上讲,顺序文件(sequential file)就是顺序存放的线性

文档评论(0)

老刘忙 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档