B树
m阶B树需要满足以下特性
- 树中每个结点至多有m棵子树,即至多含有m-1个关键字
- 若根结点不是终端结点,则至少有2棵子树
- 除根结点外的所有非叶结点至少有ceil(m/2)棵子树,即至少含有ceil(m/2)-1个关键字
- 所有的叶结点都出现在同一层次上,并且不带信息(可以视为外部结点或类似于折半查找判定树的查找失败结点,实际上这些结点不存在,指向这些结点的指针为空)
B+树
B+树是应数据库所需出现的一种B树的变形树。
m阶B+树需满足以下条件:
- 每个分支结点最多有m个孩子结点
- 非叶根节点至少有2棵子树,其他每个分支结点至少有ceil(m/2)棵子树
- 结点的子节点个数与关键字个数相等
- 所有叶结点包含全部关键字及指向相应记录的指针,叶结点中将关键字按大小顺序排列,并且相邻叶结点按大小顺序相互链接起来
- 所有分支结点中仅包含它的各个子节点中关键字的最大值及指向其子节点的指针
4阶B+树示意图