Appearance
题目
在一棵具有 15 个关键字的 4 阶 B 树中,含关键字的结点个数最多是()
错因
A
把"最多"算成了"最少"——每节点装满(3 key) 时节点数最少:。这是节点数下界,不是上界。题目要的是"最多",需要让每节点尽量少装 key。
B
类似地朝"最少节点数"方向算,但记错了每节点最多 key 数(误用 4 而不是 3,或某种边界估算),算出 6 这个夹在 5 与 10 之间的中间值。仍是"最少"方向。
C
把"最多节点数 = key 数"的想法砍了一半,可能是把"度数 ≥ 2 → 平均每节点 1.5 key"误用,得到 。但 4 阶 B 树非根节点最少 1 个 key,没有"必须 ≥ 1.5"这种限制。
总解析
4 阶 B 树关键性质:
| 性质 | 取值 |
|---|---|
| 每节点最多 key 数 | |
| 每节点最多孩子数 | |
| 非根节点最少 key 数 | |
| 非根节点最少孩子数 | |
| 根节点最少 key 数(非叶根) | 1 |
| 所有叶子在同层 | ✓ |
最多节点的构造:每节点尽可能少装 key(=最少 1 key)。
每节点 1 key 意味着每节点(含根)有 2 个孩子——这棵 B 树长得像一棵完全二叉树!
| 层 | 节点数 | 累计 key 数 |
|---|---|---|
| 1(根) | 1 | 1 |
| 2 | 2 | 3 |
| 3 | 4 | 7 |
| 4 | 8 | 15 |
层 4 是叶子层,节点数 8,key 数 8,加上前 3 层共 key、 节点。
每节点恰好 1 key、共 15 个节点——节点数最多 = 15。
直觉:B 树的"key 总数"是固定的(题目给 15),节点要"分摊"这些 key——
- 每节点 1 key(最少)→ 节点最多 = key 总数
- 每节点 3 key(最多)→ 节点最少 = ⌈key 总数 / 3⌉
上下界都很简单,记住"key 越少节点越多"即可。
对比题型:如果题目问"最少节点数",答案是 ⌈15/3⌉ = 5,对应选项 A——这正是干扰项的来源。审题时务必区分"最多 / 最少"。
最终答案是 D(15)。