- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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文件中,控制区间是用户进行一次存取的逻辑单位,可看成是一个“逻辑磁道”(其实际大小和物理磁道无
您可能关注的文档
- 滚马乡中心小学09计划.doc
- 安全资料18场容场貌及生活卫生检查记录.doc
- 读后感的写法--引议联辩结.doc
- 2012年东北岔麻疹疫苗查漏补种工作总结.doc
- 隧道工程之第八章隧道的锚喷支护.doc
- 数字化油田动态监控平台.ppt
- 地震前的预兆演示文稿1.ppt
- 初一数学导入课.ppt
- 水处理微生物学-823-2008.doc
- 小波神经网络的时间序列预测-短时交通流量预测.doc
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)