- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章文件及外部排序.doc
PAGE
PAGE 16
第九章 文件及外部排序
教学目标
了解文件的基本概念,多路归并外部排序的基本原理;
掌握顺序文件的存储原理,了解顺序文件的批处理算法;
掌握索引文件的概念,各种操作的实现过程;
了解ISAM和VSAM文件的基本原理;
掌握多路归并算法的原理和应用,特别是初始归并段的产生算法、最佳归并树等的实现。
文件是数据结构中的一个重要研究对象。由于处理的对象(信息)越来越大,范围越来越广,以致于无法将它们全部放入内存中来。大量的数据以文件的形式存储在外部存储器中,只有在使用时才将它们读到内存中,处理完之后再将其写回外部存储器。由于外部存储器的读/写速度比CPU的处理速度低得多,因此如何组织文件直接影响算法的执行效率。
9.1 文件的基本概念
文件(File)是大量属性相同的记录(结构)组成的集合。如果文件由一组连续的字符序列组成,存取的基本单位是单个字符,这种文件称为流式文件(字符文件)。为了便于存取和处理,可把流式文件中的信息分成若干个组,每一组信息称为一个逻辑记录,且按顺序编号。如果文件由带有结构的记录组成,存取的基本单位是记录,这种文件称为有结构文件。这类文件中的记录是由一个或多个数据项组成的集合。数据项是最基本的不可分的数据单位,也是文件中可使用的数据的最小单位,如表9.1所示。
姓名
报名号
准考证号
语文
数学
外语
综合课程
总分政治
李惠
1201
898001
120
144
132
140240
96636
张君
1202
898002
113
132
147
267
659
郑玲
1203
898003
98
121
100
225
544
如果文件中的每个记录具有相同的数据项,并且在外存中占有相同的存储空间,则称这类记录为定长记录,由这类记录组成的文件称为定长记录文件;否则,若文件中的记录在外存中占有不同的存储空间,则称这种文件为不定长记录文件。
文件还可以按记录中关键字的多少分成单关键字文件和多关键字文件。若文件中的记录只有一个唯一标识记录的主关键字,则称单关键字文件;若文件中的记录除了含有一个主关键字外,还含有若干个次关键字,则称为多关键字文件,记录中所有非关键字的数据项称为记录的属性。
一.记录的逻辑结构和物理结构
记录的逻辑结构是指记录在用户或应用程序员面前所呈现的方式,是用户对数据的表示和存取方式。记录的物理结构是数据在物理存储器上的存储方式,是数据的物理表示和组织。
通常,记录的逻辑结构着眼于用户使用方便,而记录的物理结构则应考虑提高存储空间的利用率和减少存取记录的时间,它根据不同的需要及存取设备本身的特性可以有多种方式。一条I/O指令存取一个物理记录,对于固定的设备和操作系统,它的大小基本上是不变的,而逻辑记录的大小是由使用者确定的。因此在物理记录和逻辑记录之间存在下列三种关系:
一个物理记录存放一个逻辑记录;
一个物理记录存放多个逻辑记录;
多个物理记录存放一个逻辑记录。
二.文件的操作
对于文件的操作主要有检索、插入、删除和更新等。其中,对文件的检索方式也分为三种:
顺序存取:存取下一个逻辑记录,适用于顺序存储文件和直接存取文件;
直接存取:存取第i个逻辑记录,适用于直接存取文件;
按关键字存取:给定一个关键字值,在整个文件中逐个查询,得到一批关键字与给定值相匹配的记录集(可能为空集)。
如果要求文件能及时地响应用户的检索或修改操作,那么文件必须提供实时处理的功能,如火车站的客票售票系统,银行的帐户管理系统等。否则文件可以定时或定期进行批量地更新处理,如进销存系统中的日报处理。
三.文件的物理结构
文件在存储介质(磁带或磁盘)上的组织方式称为文件的物理结构。文件可以有各种各样的组织方式,其基本方式有三种:顺序组织、随机组织和链组织。一个特定的文件应采用何种物理结构应综合考虑各种因素,如存储介质的类型、记录的类型、大小和关键字的数目以及对文件作何种操作等。
9.1.1 顺序文件
顺序文件(sequential file)是记录按其在文件中的逻辑顺序依次进入存储介质而建立的,即顺序文件中物理记录的顺序和逻辑记录的顺序是一致的。若逻辑上相邻的两个记录在存储介质上的位置也是毗邻的,则又称为连续文件;若物理记录之间的次序必须采用指针连接起来,则称为串连文件。
顺序文件是根据记录的序号或记录的相对位置来进行存取的文件组织方式。它的特点是:
存取第i个记录,必须先搜索在它之前的i-1个记录;
插入新的记录时,只能加在文件的末尾;
若要更新文件中的某个记录,则必须复制整个文件。
由于顺序文件的优点是连续存取且速度快,因此主要用于只进行顺序存取、批量修改的情况。磁带是一种典型的顺序存取设备,因此存储在磁带上的文件只能是顺序文件。磁带文件适合于文件的数据量甚大、平时记录变化少、只作批量
文档评论(0)