数据结构-第十二章文件.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构-第十二章文件

7.5散列文件 文件的组织方式 二、B树的操作 (1)按关键码进行查找   假设要查找关键码等于 kval 的记录,首先将根结点读入内存进行查找,若找到,即找到了该记录所对应的物理记录位置,算法结束;否则沿着指针所指,读入相应子树根结点继续进行查找,直至找到关键码等于kval的索引项或者顺指针找到某个叶子结点,前者可由索引项取得主文件中的记录,后者说明索引文件中不存在关键码等于 kval 的记录。例如,上页图中的两条虚线表示在所示B树上查找关键码分别等于47和25的记录的过程。 (2)插入索引项   插入是在查找的基础上进行的。若在B树上找到关键码等于 kval 的索引项,则不再进行插入,否则先将关键码等于 kval 的记录插入主文件,然后将索引项插入B树。插入索引项的结点应是查找路径上最后一个非叶结点,如关键码等于25的索引项应插入在上页图所示B树的物理地址为 e 的结点中,由于 m 阶B树结点中的索引项不能超过 m-1,则当插入不能满足这个约定时,要对结点进行分裂操作,有时还会产生分裂连续发生直至生成新的根结点为止,如动画所示。   (3)删除索引项    删除关键码等于 kval 的记录同样也在查找的基础上进行。若在B树上没有找到关键码等于 kval 的索引项,不再进行删除操作,否则只要删除相应索引项即可。和B树的插入操作相反,在B树上删除索引项要受“结点中索引项的个数不得少于 m/2 -1”的约定,为此有时需进行“合并”结点的操作。 可见在B树上进行查找是反复进行“访问外存读入结点”和“在结点中进行查找”这两个操作的过程,因此在B树上进行查找的效率取决于B树的深度,即访问外存的次数。可以证明,含N个索引项的 m 阶B树的最大深度为    因此,在含N个索引项的 m 阶B树上进行查找访问外存的次数不超过 。 7.4索引顺序文件 ? 一、索引顺序文件的特点 若索引文件中的主文件按关键码有序,则称索引顺序文件。它是目前大型文件和数据库广泛采用的数据组织形式。 索引顺序文件中的索引是“非稠密索引”,即对主文件中连续的一组记录建立一个索引项,它由这组记录中的最大关键码和这组记录的物理地址组成。 索引的组织形式可分静态索引和动态索引两类,前者以ISAM文件为代表,它是一种专为磁盘存取设计的文件组织方式,由索引区,数据区和溢出区三部分组成。 索引区通常是与硬件层次一致的三级索引:总索引,柱面索引和磁道索引,溢出区用来存放后插入的记录。当文件主要用于检索时,ISAM文件效率高,既能随机查找,又能顺序查找,但若增删频繁,则存取效率退化,且需定期重组。动态索引以B+树为代表,其典型的文件组织为VSAM文件,它既便于检索又便于更新。 二、B+树 B+树的结构特点:B+树是B树的一种变型树,其结构和B树的差异在于: (1) B+树的每个叶子结点中含有 n 个索引项(即 n 个关键码和 n 个指针);并且,所有叶子结点彼此相链接构成一个有序链表,该有序链表的头指针指向含最小关键码的结点; (2) B+树上每个非叶结点中的关键码 Ki 是其相应指针 Ai 所指子树的索引项,即该关键码为该子树中关键码的最大值;   (3) 一棵m阶的B+树中每个结点至多含 m 个关键码(即至多有 m 棵子树),除根结点至少含2个关键码外,其余结点至少含 m/2 个关键码,所有叶子结点都处在同一层次上。   例如下图为一棵深度为3的4阶B+树。 4阶B+树示例 三、B+树的操作 在B+树上,既可以进行从根结点开始的缩小范围的查找,也可以从最小关键码开始进行顺序查找;在进行缩小范围的查找时和B树稍有不同,不管查找成功与否,都必须查到叶子结点才能结束,在结点内进行查找时,若给定值≤Ki,则应继续在 Ai 所指子树中进行查找。在B+树上进行插入和删除索引项时,则类似于B树,必要时也需要进行结点的分裂或合并操作,分裂和合并的规则和B树相同。   1) VSAM文件的组织方法 VSAM文件的结构示意图如页面右侧所示。它由索引集、顺序集和数据集三部分组成。其中数据集即为主文件,而顺序集和索引集构成主文件的“索引”,是一棵B+树。其中顺序集中的每个结点即为B+树的叶子结点,包含主文件的全部索引项,索引集中的结点即为B+树的非叶结点,可看成是文件索引的高层索引。 数据集由若干控制区间组成,每个控制区间内含一个或多个记录,当含多个记录时,同一控制区间内的记录按关键码自小至大有序排列,且文件中第一个控制区间中记录的关键码值最小。在VSAM文件中,控制区间是用户进行一次存取的逻辑单位,可看成是一个“逻辑磁道”(其实际大小和物理磁道无

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档