B树的形式化表示
设 $B$ 为阶数为 $m$ 的B树,则满足以下性质:
- 每个节点最多有 $m$ 个子节点。
- 除根节点外,每个节点至少有 $\lceil \frac{m}{2} \rceil$ 个子节点。
- 根节点至少有两个子节点(除非根节点是叶子)。
- 每个非叶子节点包含 $k-1$ 个关键字($k$ 为子节点数),关键字按升序排列。
- 所有叶子节点都在同一层。
形式化定义:
每个节点 $x$ 包含:
- $n_x$:关键字个数,满足 $\lceil \frac{m}{2} \rceil - 1 \leq n_x \leq m-1$
- 关键字序列 $K_1 < K_2 < \cdots < K_{n_x}$
- 子节点指针 $C_1, C_2, \ldots, C_{n_x+1}$
对于任意关键字 $K_i$,有:
- 所有 $C_i$ 子树中的关键字 $< K_i$
- 所有 $C_{i+1}$ 子树中的关键字 $> K_i$
所有叶子节点在同一深度。