数据结构 B树
Posted masterchd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构 B树相关的知识,希望对你有一定的参考价值。
B树
tips:floor向上取整
B树的定义
B树,又称多路平衡查找树,B树中所有结点孩子结点数的最大值称为B树的阶,通常用m表示。
一棵m阶B树或者空树,或为满足以下条件的m叉树:
- 树中每个结点最多有m棵子树(即最多有m-1个关键字)
- 若根节点不是终端结点,那么最少有两颗子树
- 除根节点之外的所有非叶结点至少有floor[m/2]棵子树(即最少有floor[m/2] - 1个关键字)
B树的高度
若n≥1,则对任意一棵包含n个关键字,高度为h,阶数为m的B树
- 因为B树每个结点最多有m 棵子树,m-1个关键字,所以在一棵高度为h的m阶B树中关键字的个数应该满足
,因此有
?
若让每个结点中的关键字个数达到最少,则容纳同样多关键字的B树高度达到最大。由B树的定义可知,第一层至少有1个结点;第二层至少有2个结点,除了根节点之外的所有非叶结点至少有floor[m/2]棵子树,第三层至少有2*floor[m/2]个节点,以此类推,注意到第h+1层节点是不包含任何信息的叶节点。对于关键字个数为n的B树,叶节点即查找不成功的节点为n+1,因此有
,即?
以上是关于数据结构 B树的主要内容,如果未能解决你的问题,请参考以下文章