🏷️ 知识点:B 树

共 5 道相关题目

2023 年第 7 题 数据结构 选择题

下列关于非空 B 树的叙述中,正确的是( )

I. 插入操作可能增加树的高度

II. 删除操作一定会导致叶结点的变化

III. 查找某关键字一定是要查找到叶结点

IV. 插入的新关键字最终位于叶结点中

B树

A. 仅 I B. 仅 I、II C. 仅 III、IV D. 仅 I、II、IV

[tag_link]

正确答案:B

B 树 中,插入 操作可能导致节点分裂。如果根节点已满,插入新键会触发根节点分裂,生成一个新的根节点,从而增加树的高度。因此,插入操作确实可能(但不一定)增加树的高度。选项 I 正确。删除 操作可能涉及以下情况:

  • 删除的键在叶子结点:直接从叶子结点移除该键,导致叶子结点内容变化。
  • 删除的键在非叶子结点:B 树会用前驱或后继键(通常位于叶子结点)替换该键,然后删除前驱或后继键。这仍然会导致叶子结点的变化。
  • 删除后触发合并或借键:如果删除键后某个节点键数低于最小要求(通常 ⌈m / 2⌉ − 1),可能需要从兄弟节点借键或与兄弟节点合并。这些操作可能涉及叶子结点(例如,合并两个叶子结点或调整叶子结点的键)。在所有删除场景中,无论是直接删除键还是通过替换、合并、借键,操作最终都会影响叶子结点(键的移除或调整发生在叶子结点)。选项 II 正确。查找关键字并不一定需要查找到叶子结点。例如,如果目标键位于根节点或中间节点,查找会在这些非叶子结点停止。选项 III 错误。新关键字在 B 树中开始总是被插入到叶子结点中,但是可能随着分裂上溢到非叶子结点,选项 IV 错误。

2018 年第 8 题 数据结构 选择题

高度为 5 的 3 阶 B 树含有的关键字个数至少是( )

B树

A. 15 B. 31 C. 62 D. 242

[tag_link]

正确答案:B

m阶 B 树 的基本性质:根结点以外的非叶结点最少含有⌈m/2⌉−1个关键字,代入m=3得到每个非叶结点中最少包含 1 个关键字,而根结点含有 1 个关键字,因此所有非叶结点都有两个孩子。此时其树形与 h=5 的满二叉树相同,可求得关键字最少为 31 个。


2025 年第 8 题 数据结构 选择题

给 7 个不同的关键字,能够构成不同 4 阶 B 树的个数为( )。

B树

A. 7 B. 8 C. 9 D. 10

[tag_link]

正确答案:C

  • 树高为 3:每个节点内关键字个数最少取 1 时,B 树 高度为 3(类似满二叉树)——仅一种结构;
  • 树高为 2:
  • 根节点关键字个数取 1,第二层两节点关键字个数均取 3——一种结构;
  • 根节点关键字个数取 2,则第二层内三个节点关键字个数分别可取 221、212、122、311、131、113 共计六种结构;
  • 根节点关键字个数取 3,则第二层显然只有四个节点各含一个关键字此一种结构。综上,共计 9 种可能的结构。

2013 年第 10 题 数据结构 选择题

在一株高度为 2 的 5 阶 B 树中,所含关键字的个数最少是()

B树

A.5

B.7

C.8

D.14

[tag_link] 正确答案:A对于 5 阶 B 树 ,根结点只有达到 5 个关键字时才能产生分裂,成为高度为 2 的 B 树,因此高度为 2 的 5 阶 B 树所含关键字的个数最少是 5。


2020 年第 10 题 数据结构 选择题

依次将关键字 5, 6, 9, 13, 8, 2, 12, 15 插入初始为空的 4 阶 B 树后, 根节点中包含的关键字是( )。

B树

A. 8 B. 6, 9 C. 8, 13 D. 9, 12

[tag_link]

正确答案:B

一 个 4 阶 B 树 的任意非叶结点至多含有加 4-1=3 个关键字,在关键字依次插入的过程中,会导致结点的不断分裂,插入过程如下所示。

2018_Q7_3

得到根结点包含的关键字为 6, 9。