文件(高级程序设计)要点分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、文件概念 如果文件中的每个记录都有一个索引项,则这样的索引称为稠密索引。如果多个记录只有一个索引项,则这样的索引称为非稠密索引。带有索引的文件称为索引文件。索引也称为目录。 索引文件在外存(磁盘、磁鼓等)中可分为两个存储区:索引区和记录区(数据区)。索引表中的索引项顺序存放在索引区中,但为了便于检索,索引项一般按关键字的大小次序排列。文件中的记录按输入的先后次序存放到记录区;记录区按关键字大小次序排列的索引文件称为索引顺序文件。 根据关键字查找索引文件的记录分两步进行。第1步,访问外存的索引区,将索引读入内存缓冲区,使用顺序查找或折半查找法找出所查记录在外存数据区中的地址,这一过程称为预查找。第2步,如果在预查中已找到了所查记录的地址,则第2次访问外存,根据已查到的地址,读取所查的记录。 9.4 ISAM文件 B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 4.存在平衡的问题. B-树 是一种多路搜索树(并不是二叉的): 1.定义任意非叶子结点最多只有M个儿子;且M2; 2.关键字集合分布在整颗树中; 3.B-树没有B树平衡的问题; B+树 是B-树的变体,也是一种多路搜索树: 1.其定义基本与B-树同,除了: 2.非叶子结点的子树指针与关键字个数相同; 3.非叶子结点子树指针P[i],指向关键字值属于[K[i], K[i+1])的子树; 4.为所有叶子结点增加一个链指针; 5.所有关键字都在叶子结点出现; B*树 是B+树的变体,在B+树的非根和非叶子结点再增加指向兄弟的指针; 当发生“溢出”时,需要将第m+1个同义词存放到另一个桶中,通常称此桶为“溢出桶”;相对地,称前m个同义词存放的桶为“基桶”。溢出桶可以有多个,它们和基桶大小相同,相互之间用指针相链接。当在基桶中没有找到待查记录时,就顺指针所指到溢出桶中进行查找。因此,希望同一散列地址的溢出桶和基桶在磁盘上的物理位置不要相距太远,最好在同一柱面上。 总之,散列文件的优点是:插入、删除方便,存取速度比索引文件要快;不需要索引区,节省存储空间。其缺点是:不能进行顺序存取,只能按关键字随机存取,且询问方式只有简单询问;并且在经过多次的插入、删除之后,也可能造成文件结构不合理,即溢出桶满而基桶内多数为被删除的记录。此时亦需重组文件。 * * 本章主要内容: 1、文件概述 2、顺序文件 3、索引文件 4、ISAM文件 5、散列文件 本章重点:文件的组织形式与检索方法。 本章难点:ISAM文件的组织与检索。 在现代计算机的应用领域中,数据处理是一个重要方面。数据处理是对各种类型的大批量的数据进行收集、存储、排序、检索、计算、修改、输出等分析和加工处理的过程。例如,用计算机进行企业管理、财务工资管理、仓库物资管理、情报检索、统计报表等都涉及到数据存放到外存储器上。有时,为了长期保存原始数据和加工处理过的数据,也需要将这些数据以文件的形式存放在外存上。学完本章读者应能掌握文件的概念、逻辑特性、物理结构和基本操作。 9.1文件概述 1、常用外存: 磁带:由磁带介质、读、写磁头、驱动器、接收盘和原始盘组成。 便宜、可反复使用、是一种顺序存取设备。查找费时、速度慢(尤其是查找末 端记录时)。 . . 读出头 写入头 原始盘 接收盘 IBG(Inter Block Gap)块间间隙 块 1 块 3 块 2 带文件的读写 时间:T i/o = ta + n × tw ta :延迟时间 tw:传输时间/ 字符 n 字符数。 磁盘:由存取装置、读、写磁头、活动臂、盘片(磁道、扇区)、旋转主轴构成。速度快、容量大、直接存取设备。 种类:固定头磁盘、活动头磁盘 固定头磁盘:每个磁道都有一个磁头(速度快) 活动头磁盘:每个盘面共用一个磁头, 增加了找道的时间,应用广泛。 柱面:各盘面的直径相同的磁道的总和。 物理位置:盘组号、 柱面号、 磁道号、 块(扇区号) 盘文件的读写时间:T i/o = tseck + tla + n×twm tseck :找

文档评论(0)

我是兰花草 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档