知识点讲解
 
       B-树
知识路径: > 计算机系统基础知识 > 计算机软件知识 > 数据结构与算法知识 > 常用的排序算法、查找算法、数值计算、字符串处理、数据压缩算法、递归算法、图的相关算法 > 动态查找表 > 
被考次数:2次
被考频率: 低频率
总体答错率: 70%
知识难度系数:
考试要求: 掌握     
相关知识点:3个
        B-树的定义:一棵m阶的B-树,或为空树,或为满足下列特性的m叉树。
        (1)树中每个节点至多有m棵子树。
        (2)若根节点不是叶子节点,则至少有两棵子树。
        (3)除根之外的所有非终端节点至少有棵子树。
        (4)所有的非终端节点中包含下列数据信息,即
        (n,A0,K1,A1,K2A2,…,Kn,An)
        式中,Ki(i=1,2,…,n)为关键字,且Ki<Ki+1(i=1,2,…,n-1);Ai(i=1,2,…,n)为指向子树根节点的指针,且指针Ai-1,所指子树中所有节点的关键字均小于Ki(i=1,2,…,n),An所指子树中所有节点的关键字均大于Kn为节点中关键字的个数。
        (5)所有的叶子节点都出现在同一层次上,并且不带信息(可以看作外部节点或查找失败的节点,实际上这些节点不存在,指向这些节点的指针为空)。
        B-树上进行查找的过程是:首先在根节点所包含的关键字中查找给定的关键字,若找到则成功返回;否则确定待查找的关键字所在的子树并继续进行查找,直到查找成功或查找失败(指针为空)时为止。
        B-树上的插入和删除运算较为复杂,因为要保证运算后节点中关键字的个数大于等于,因此涉及节点的"分裂"及"合并"问题。
        在B-树中插入一个关键字时,不是在树中加一个叶子节点,而是首先在低层的某个终端节点添加一个关键字,若该节点中关键字的个数不超过m-1,则完成插入;否则,要进行节点的"分裂"处理。"分裂"就是把节点中处于中间位置上的关键字取出来插入到其父节点中,并以该关键字为分界线,把原节点分成两个节点,"分裂"过程可能会一直持续到树根。
        在B-树中删除一个节点时,首先找到关键字所在的节点,若该节点在含有信息的最后一层,且其中关键字的数目不少于,则完成删除;否则需进行节点的"合并"运算。若待删除的关键字所在节点不在含有信息的最后一层上,则将该关键字用其在B-树中的后继替代,然后再删除其后继元素,即将需要处理的情况统一转化为在含有信息的最后一层再进行删除运算。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有