树的定义、术语与性质
这一节的术语教材自己说了「无须刻意记忆」,但 5.1.3 的五条性质必须会算。
教材的注意框原话:「上述概念无须刻意记忆,根据实例理解即可。考研时不大可能直接考查概念,而都是结合具体的题目考查。」——所以 5.1.2 快速扫过,把时间全给 5.1.3 的数数公式。
那五条性质加上一个「三式联立」的技巧,构成了本章选择题里出现频率最高的一类:给部分度数,求结点数或叶结点数。
机制
定义与两个特点
树是
- 有且仅有一个特定的称为根的结点;
- 当
时,其余结点可分为 个互不相交的有限集 ,其中每个集合本身又是一棵树,并称为根的子树。
树作为一种逻辑结构,同时也是一种分层结构,具有以下两个特点:
- 树的根结点没有前驱,除根结点外的所有结点有且只有一个前驱。
- 树中所有结点可以有零个或多个后继。
因此在
必须精确的几个术语
| 术语 | 定义 | 易错处 |
|---|---|---|
| 堂兄弟 | 双亲在同一层的结点互为堂兄弟 | 不要求双亲相同——图 5.1 中 |
| 结点的层次 / 深度 | 根为第 1 层,深度就是结点所在的层次 | 从 1 起算 |
| 树的高度(深度) | 树中结点的最大层数 | |
| 结点的高度 | 以该结点为根的子树的高度 | 与「深度」方向相反 |
| 结点的度 | 该结点的孩子个数 | |
| 树的度 | 树中结点的最大度数 | |
| 分支结点 / 叶结点 | 度 | |
| 路径长度 | 路径上所经过的边的个数 | 数边不数结点——与第 7 章的「查找长度数结点」正相反 |
| 树的路径长度 | 从树根到每个结点的路径长度的总和 | 包括所有结点,不只叶结点;根到自身的路径长度为 0;二叉树同样适用 |
| 森林 |
边界辨析:
教材的注意框:「因为树中的分支是有向的,即从双亲指向孩子,所以树中的路径是从上向下的, 同一双亲的两个孩子之间不存在路径。」 亲兄弟之间没有路径——这一条与图论里的无向路径直觉相反,是判断题的常客。
关联对照:
森林与树只差一个根:只要把树的根结点删去就成了森林;反之,只要给
棵独立的树加上一个结点, 并把这 棵树作为该结点的子树,则森林就变成了树。 这条关系是 5.4.2 树、森林与二叉树的转换 的全部依据,也是 2016 年的命题点。
五条性质
- 树的结点数
等于所有结点的度数之和加 1。 结点的度是指该结点的孩子数量,每个结点与其每个孩子都由唯一的边相连,因此所有结点的度数之和等于边数之和;树中的结点(除根外)都有唯一的双亲,因此 边数之和 。 - 度为
的树中第 层上至多有 个结点( )。 - 高度为
的 叉树至多有 个结点。(等比数列) - 度为
、具有 个结点的树的最小高度 。 - 度为
、具有 个结点的树的最大高度 。 由此也可逆推出:高度为 、度为 的树至少有 个结点。
边界辨析:
「度为
的树」和「 叉树」不是一回事。
- 度为
的树:树的度恰好是 ,即至少有一个结点有 个孩子。 叉树:每个结点至多有 个孩子,可以一个度为 的结点都没有(甚至可以是空树)。 性质 2、4、5 说的是度为
的树,性质 3 说的是 叉树。 性质 5 的 之所以要减 ,正是因为「度为 」强制要求某一层必须有 个孩子摊开。 这是本节最经典的陷阱。
三式联立:求结点与度的关系
教材在 5.1.4 的注意框里把这类题的解法固定成三个式子:
「这类题目常在选择题中出现,读者对以上关系应当熟练掌握并灵活应用。」
手算模板
求结点数 / 叶结点数(三式联立):
- 列 ①:总结点数
各度数的结点数之和。 - 列 ②:总分支数
。 - 用 ③ 把 ① 和 ② 连起来:
。 - 代入已知量解方程。未知数只剩一个时就能出答案。
求最小 / 最大高度:先分清题目说的是「度为
边界
| 说法 | 判断 | 说明 |
|---|---|---|
| 「堂兄弟必须有相同的祖父」 | ❌ | 只要求双亲在同一层 |
| 「兄弟结点之间存在路径」 | ❌ | 分支是有向的,同一双亲的两个孩子之间不存在路径 |
| 「路径长度是路径上的结点数」 | ❌ | 是边的个数。与第 7 章的查找长度正相反 |
| 「结点的深度就是结点的高度」 | ❌ | 深度是所在层次(自上而下);高度是以它为根的子树的高度(自下而上) |
| 「森林至少有一棵树」 | ❌ | |
| 「度为 | ✅ | 性质 2 |
| 「 | ❌ | |
| 「度为 | ❌ | 是 |
| 「 | ❌ |
口径差异:
算法竞赛里「树」几乎总是指无根树 / 图论意义上的树,会谈「直径」「重心」「路径」(无向、任意两点之间)。 408 的树是有根、有向、分层的:路径只能自上而下,兄弟之间没有路径,「高度」和「深度」是两个方向。 另外,「树的度」在算竞里基本不用(那里习惯说「最大出度」),而 408 的性质 2、4、5 全都建立在它上面。
对照速查
| 性质 | 结论 |
|---|---|
| 结点数与度数 | |
| 第 | |
| 高度 | |
| 最小高度(度为 | |
| 最大高度(度为 | |
| 高度 | |
| 边数 |
| 三式 | 内容 |
|---|---|
| ① | |
| ② | |
| ③ |
考点
- 三式联立求结点与度的关系(2010、2016 命题追踪),本节最高频。
- 「度为
的树」与「 叉树」的区分。 - 指定结点数的
叉树的最小高度(2022 命题追踪),套性质 4。 - 路径长度数边,且同一双亲的孩子之间无路径。
- 森林与树相差一个根结点(2016 命题追踪)。
- 深度与高度方向相反。
链接
- 🏠 返回总览:数据结构第 5 章:树与二叉树总览
- ➡️ 下一节:5.2 二叉树的概念
- 🔗 森林与二叉树的转换:5.4 树、森林
- 🔗 二叉树的对应性质:5.2.1 二叉树的定义及其主要特性
- 📖 名词库:第 5 章名词库