B树平衡多路查找树,如果每个节点最多有m个孩子,那么就可以称之为m阶B树。
B树有四个特征:
- 根节点至少包括两个孩子
- 树中每个节点最多含有m个孩子(m >= 2)
- 除根节点和叶节点外,其他每个节点至少有ceil(m/2)个孩子
- 所有叶子节点都位于同一层
其实最终的目的就是减少IO的读写次数。
假设每个非终端结点中包含有n个关键字信息,其中
- Ki(i=1…n)为关键字,且关键字按照顺序升序排序K(i-1) < Ki
- 关键字个数n必须满足:[ceil(m/2) - 1] <= n <= m - 1
- 非叶子节点的指针:P[1],P[2],…,P[M];其中P[1]指向关键字小于K[1]的子树,P[M]指向关键字大于K[M-1]的子树,其他P[i]指向关键字属于(K[i-1],K[i])的子树