Skip to content

2014年 408 数据结构 第 9 题

数据结构2014年选择题2分

题目

在一棵具有 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(根)11
223
347
4815

层 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)

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数