一个 m 阶 B 树是一个平衡的多叉树,其中每个节点最多可以有 m 个子节点。它具有以下性质:
1. 节点的子节点数:
• 每个节点最多有 m 个子节点。
• 除了根节点和叶节点外,每个节点至少有 ⌈m/2⌉ 个子节点。
2. 节点的关键字数:
• 每个节点(除根节点外)的关键字数 k 满足 ⌈m/2⌉ - 1 ≤ k ≤ m - 1。
• 根节点至少有 1 个关键字(如果不是空树)。
3. 所有叶子节点位于同一层:B 树是平衡的,所有叶子节点都位于同一层。
4. 关键字的排序:每个节点中的关键字按升序排列,节点的子节点的关键字值在其父节点的关键字值之间分布。
不同阶 B 树的具体性质
以下是几种不同阶 B 树的具体性质:
3 阶 B 树 (m=3)
• 每个节点最多有 3 个子节点。
• 每个节点(除根节点外)的关键字数 k 满足 1 ≤ k ≤ 2。
• 根节点至少有 1 个关键字(如果不是空树)。
• 每个非叶节点至少有 2 个子节点。
4 阶 B 树 (m=4)
• 每个节点最多有 4 个子节点。
• 每个节点(除根节点外)的关键字数 k 满足 1 ≤ k ≤ 3。
• 根节点至少有 1 个关键字(如果不是空树)。
• 每个非叶节点至少有 2 个子节点。
5 阶 B 树 (m=5)
• 每个节点最多有 5 个子节点。
• 每个节点(除根节点外)的关键字数 k 满足 2 ≤ k ≤ 4。
• 根节点至少有 1 个关键字(如果不是空树)。
• 每个非叶节点至少有 3 个子节点。
6 阶 B 树 (m=6)
• 每个节点最多有 6 个子节点。
• 每个节点(除根节点外)的关键字数 k 满足 2 ≤ k ≤ 5。
• 根节点至少有 1 个关键字(如果不是空树)。
• 每个非叶节点至少有 3 个子节点。
通用性质总结
1. 节点子节点数:
• 最多:m 个子节点。
• 最少:⌈m/2⌉ 个子节点(除根节点外)。
2. 节点关键字数:
• 最多:m - 1 个关键字。
• 最少:⌈m/2⌉ - 1 个关键字(除根节点外)。
3. 根节点关键字数:
• 最少:1 个关键字(如果不是空树)。
• 最多:m - 1 个关键字。
4. 树的平衡性:
• 所有叶子节点位于同一层,保证了 B 树的平衡性。
对于 m 阶 B 树:
• 根节点可以有 1 到 m 个子节点。
• 如果树中有多个节点,根节点至少有 2 个子节点,最多有 m 个子节点。