- 1、本文档共130页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章小结 本章基本学习要点如下: (1)理解查找的基本概念,包括静态查找表和动态查找表、内查找和外查找之间的差异。 (2)重点掌握线性表上各种查找算法,包括顺序查找、二分查找和分块查找的基本思路、算法实现和查找效率等。 (3)掌握各种树表的查找算法,包括二叉排序树、AVL树和B-树的基本思路、算法实现和查找效率等。 (4)掌握哈希表查找技术以及哈希表与其他表的本质区别。 (5)灵活运用各种查找算法解决一些综合应用问题。 练习9 教材中p271习题1、2、3和5。 上机实习题 教材中p172题3和5。 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。 * * * (4)在B-树的叶子节点上删除关键字共有以下三种情况: ① 假如被删节点的关键字个数大于Min,说明删去该关键字后该节点仍满足B-树的定义,则可直接删去该关键字。 ② 假如被删节点的关键字个数等于Min,说明删去关键字后该节点将不满足B-树的定义。 此时若该节点的左(或右)兄弟节点中关键字个数大于Min,则把该节点的左(或右)兄弟节点中最大(或最小)的关键字上移到双亲节点中,同时把双亲节点中大于(或小于)上移关键字的关键字下移到要删除关键字的节点中,这样删去关键字k后该节点以及它的左(或右)兄弟节点都仍旧满足B-树的定义。 ③ 假如被删节点的关键字个数等于Min,并且该节点的左和右兄弟节点(如果存在的话)中关键字个数均等于Min。 这时需把要删除关键字的节点与其左(或右)兄弟节点以及双亲节点中分割二者的关键字合并成一个节点。如果因此使双亲节点中关键字个数小于Min,则对此双亲节点做同样处理,以致于可能直到对根节点做这样的处理而使整个树减少一层。 例如,对于上例生成的B-树,给出删除8,16,15,4等4个关键字的过程。 (a) 初始5阶B-树 10 14 15 13 16 3 6 1 2 7 8 9 17 18 19 20 4 5 11 12 7 9 删8 删16 17 13 13 17 18 19 20 删15 14 17 18 14 17 19 20 删4 5 1 2 3 5 6 6 10 13 18 13 18 对于前例生成的B-树,给出删除8,16,15,4等四个关键字的过程。 9.3.4 B+树 在索引文件组织中,经常使用B-树的一些变形,其中B+树是一种应用广泛的变形。一棵m阶B+树满足下列条件: 一棵m阶B+树满足下列条件: (1)每个分支节点至多有m棵子树。 (2)根节点或者没有子树,或者至少有两棵子树。 (3)除根节点外,其他每个分支节点至少有?m/2?棵子树。 (4)有n棵子树的节点有n个关键字。 (5)所有叶子节点包含全部关键字及指向相应记录的指针,而且叶子节点按关键字大小顺序链接(可以把每个叶子节点看成是一个基本索引块,它的指针不再指向另一级索引块,而是直接指向数据文件中的记录)。 (6)所有分支节点(可看成是索引的索引)中仅包含它的各个子节点(即下级索引的索引块)中最大关键字及指向子节点的指针。 一棵4阶的B+树 某关键字指向的记录。 索引部分 m阶的B+树和m阶的B-树,定义中的前三点是相同的,主要的差异是: (1)在B+树中,具有n个关键字的节点含有n棵子树,即每个关键字对应一棵子树,而在B-树中,具有n个关键字的节点含有(n+1)棵子树。 (2)在B+树中,每个节点(除根节点外)中的关键字个数n的取值范围是?m/2?≤n≤m,根节点n的取值范围是1≤n≤m;而在B-树中,它们的取值范围分别是?m/2?-1≤n≤m-1和1≤n≤m-1。 (3)B+树中的所有叶子节点包含了全部关键字,即其他非叶子节点中的关键字包含在叶子节点中,而在B-树中,叶子节点包含的关键字与其他节点包含的关键字是不重复的。 (4)B+树中所有非叶子节点仅起到索引的作用,即节点中的每个索引项只含有对应子树的最大
文档评论(0)