文章目录
B树最大高度推导
【声明几个重要概念】
B树的关键字就是要查找的东西
B树中的 阶:可理解为分支数. 三阶树也可理解三叉树
按照定义:
m阶B tree,每个节点最多有 m 个subnode,除根节点和叶子节点外,每个节点至少有ceil(m / 2)个子节点
根节点:
- 儿子节点个数**[2, m]**
- 关键字个数**[1, m-1]**
非根节点 :
- 儿子节点个数**[ceil(m/2), m]**
- 关键字个数**[ceil(m/2)-1, m-1]**
【注意】:儿子节点就是树本身的节点,关键字是要查询的节点
前提条件:n>=1,则对于任意一棵包含n个关键字、高度为h、阶数为m的B树
其中 : ceil()函数 代表向上取整):
推导B树的最小高度
让树变的很矮,就需要让每一层节点最多,让他充实起来
节点个数 | 层数 |
---|---|
1 | 0 |
m | 1 |
m 2 m^2 m2 | 2 |
m 3 m^3 m3 | 3 |
… | |
m h − 1 m^{h-1} mh−1 | h-1 (高度为h) |
对于高度为h,阶数为m的B树的总的节点个数就是每一层相加之和:
1 + m + m 2 + m 3 . . . . + m h − 1 = ( m h − 1 ) / ( m − 1 ) 1+ m +m^2+m^3 ....+m^{h-1} = (m^{h-1})/(m-1) 1+m+m2+m3....+mh−1=(mh−1)/