目录
前提
在对B树进行操作之前需要先了解B树的特性:
一棵m阶的B树或为空树,或为满足下列特性的m叉树:
- 树中每个节点至多有m棵子树
- 若根结点不是叶子节点,则至少有两棵子树
- 除根结点之外的所有非终端结点至少有 棵子树(二分之m向上取整)
- 所有的非终端节点中包含下列信息数据(n,,,,,,······,),其中(i=1,······,n)是关键字,且,(i=1,······,n-1), (i=0,···,n)为指向子树根节点的指针,且指针所指的所有子树的关键字均小于 (i=1,······,n),所指的所有子树的关键字均小于,n 为关键字的个数(或n+1为子树的个数)。
- 所有叶子节点都出现在同一层次上,并且不带信息(空指针)
操作1:B树插入关键字
插入方法:B树中 节点中的关键字个数 ,并且整个子树可以看成全部由关键字组成的树,每次插入一个关键字不是在树中添加一个叶子节点,而是在查找的过程中找到叶子节点所在层的上一层(叶子节点是记录,上一层是关键字最后一层),在某个节点中添加一个关键字,若节点的关键字个数不超过m-1,则插入完成,否则产生节点的分裂。
分割线
分割线
分割线
操作2:B树删除关键字