Skip to content

2016年 408 数据结构 第 5 题

数据结构2016年选择题2分

题目

若森林 F 有 15 条边、25 个结点,则 F 包含树的个数是( )。

错因

A

基本是凭"看着像"猜的——可能套用了"森林边 ≈ 结点数的 1/3"或类似经验,得到 25/3 ≈ 8。也可能是把"含 15 条边"的"15"当成树的数量参与了某种错运算。森林结点数和边数有严格的代数关系(见总解析),不是凭直觉估的。

B

记得"森林边数 = 结点数 − 树数"这个核心关系,但多扣了 1:把单棵树的" 结点 边"中的 习惯性套到森林里,得到 。错因是没有意识到——森林每棵树贡献 的差额,所以森林整体的差额是 是树数),而不是固定的

D

公式方向记反了:多加了 1。可能与"(二叉树叶子结点性质)"或"连通图最少边数 = "等公式混在一起,以为森林也有个常数偏移。森林的"结点 − 边"差恰好等于树数本身,不需要再 ±1。

总解析

核心性质

  • 一棵 个结点的树,恰好有 条边(这是树最常用的恒等式之一)。
  • 森林是若干棵不相交的树。设森林有 棵树,第 棵树有 个结点,则它有 条边。
  • 对所有树求和:

其中 是森林的总结点数。

移项核心公式

其中 是结点总数、 是边总数、 是森林中树的棵数。

直观解释:每多一棵树就比"全连通成一棵大树"少一条边——也就是说,从 个孤立点出发,每加一条边就能合并两棵树(让 减 1),所以 $m = n - = n - E$。

代入题目数据

最终答案是 C(10)

最后更新:

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

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