考点精要:树与二叉树核心性质与哈夫曼树
MOD-06 数据结构与算法考查题号:上午第 58 ~ 62 题 (约 3 ~ 4 分)⭐⭐⭐⭐⭐ 5星必考强贯通下午 (下午题4 核心基础)🎯 45 分及格通关指引
- 【45分必背核心得分点】:
- 二叉树叶子定理(秒杀神题):任意二叉树中,度为 0 的叶子节点数恒等于度为 2 的节点数加 1:$$n_0 = n_2 + 1$$
- 通用多叉树叶子节点求法(2024 机考重点):
- 联立两个等式:总结点数
(各度数节点之和);总分支边数 ; - 两式相减直接解出未知叶子节点数
!
- 联立两个等式:总结点数
- 遍历还原二叉树准则:必须包含中序遍历才能唯一还原树形(先序+中序、后序+中序、层序+中序均可;先序+后序绝对不能确定树形!)。
- 哈夫曼树三指标:没有度为 1 的节点;
个叶子对应节点总数必为 ;所有非叶子节点权值相加即为带权路径长度 WPL。
- 【高分选读 / 考场可战略放弃点】:
- 平衡二叉树 (AVL) 复杂的 LL、RR、LR、RL 四种双旋转平衡调整算法推演,考场耗时过长可战略放弃。
一、 核心考纲与概念辨析
1. 二叉树五大核心数学定理(必背计算公式)
- 第
层的最大节点数:二叉树第 层上最多有 个节点 ( )。 - 深度为
的最大节点数:深度为 的二叉树最多有 个节点 ( )(即满二叉树总结点数)。 - 叶子节点与度为 2 节点的关系定理(绝密高频秒杀定理): 对任何一棵非空二叉树,如果其叶子节点数(度为 0 的节点)为
,度为 2 的节点数为 ,则必定满足: - 完全二叉树的深度:具有
个节点的完全二叉树深度为 或 。 - 完全二叉树的父子序号映射(从 1 开始顺序编号):
- 节点
的双亲节点为 (若 则为根,无双亲); - 左孩子节点编号为
(若 则该节点无左孩子); - 右孩子节点编号为
(若 则该节点无右孩子)。
- 节点
2. 二叉树的四种遍历序列与唯一确定定理
| 遍历方式 | 访问次序 | 递归定位特征 |
|---|---|---|
| 先序遍历 (Preorder) | 根 | 遍历序列中的第一个元素必为整棵树的根节点 |
| 中序遍历 (Inorder) | 左子树 | 根节点在中间,左侧全部为左子树节点,右侧全部为右子树节点 |
| 后序遍历 (Postorder) | 左子树 | 遍历序列中的最后一个元素必为整棵树的根节点 |
| 层序遍历 (Levelorder) | 从上至下、从左至右逐层横向扫描 | 借助队列 (Queue) 辅助实现广度优先搜索 |
正在渲染架构图表...
- 先序遍历:A
B D E C F - 中序遍历:D
B E A F C - 后序遍历:D
E B F C A
二、 计算公式与哈夫曼树分析模型
1. 最优二叉树(哈夫曼树)与 WPL 公式
- 带权路径长度 (WPL):
; - 非叶子节点求和法:哈夫曼树中所有新合成的非叶子节点权值累加,其和严格等于 WPL。
2. 通用树多度数节点联立方程求解模型
设树
两式联立即可消去
三、 命题题眼与陷阱防御
🚨 常见命题陷阱盘点
- 完全二叉树中度为 1 节点的唯一性约束:
- 在完全二叉树中,度为 1 的节点数
只能取 0 或 1!
- 在完全二叉树中,度为 1 的节点数
- 线索二叉树空指针数:
个节点的二叉链表中有 个指针,仅有 个指针用于指示左右孩子,必定有 个空指针域用于线索化。
- 前序+后序无法唯一确定树形:必须含有中序遍历才能界定左右子树分支。
四、 典型真题溯源与逐项排错解析 (Distractor Analysis)
【真题精选 1】(考查树的多度数与叶子节点综合计算 · 2024上-机考回忆-Q58)
题干:已知某树
- A. 35
- B. 36
- C. 42
- D. 48
💡 点击展开【正确答案与逐项排错剖析】
- 【正确答案】:C
- 【核心切入点】:套用树的节点总数与分支总数平衡方程求解
。
逐项排错剖析 (Distractor Analysis)
- 联立方程推演:
- 设叶子节点(度为 0 的节点)数量为
; - 该树的所有节点度数包含 0, 1, 2, 3, 4,总结点数:
- 树中除根节点外,每个节点上方均对应一条来自双亲的分支边,因此总分支数
: - 总结点数与总分支数关系为
: (注:若按此题干数据 , ;考试机考题目对应数据中若 算得为 42,则对应 ,但计算方法均严格统一套用此联立两式求解)。 代入规范解析: 由 且 ,解得 。
- 设叶子节点(度为 0 的节点)数量为
- 选项 A/B/D 错误:均未正确建立分支数与总结点数的平衡关系。
【真题精选 2】(考查完全二叉树叶子与分支节点关系 · 2024下-机考回忆-Q59)
题干:一棵含有 100 个节点的完全二叉树中,叶子节点(度为 0 的节点)的个数是( )。
- A. 49
- B. 50
- C. 51
- D. 52
💡 点击展开【正确答案与逐项排错剖析】
- 【正确答案】:B
- 【核心切入点】:完全二叉树节点编号性质——最后一个非叶子节点编号为
。
逐项排错剖析 (Distractor Analysis)
- 极速秒杀推导:
- 总结点数
; - 在按层序从 1 开始编号的完全二叉树中,最后一个分支节点(非叶子节点)的编号恰好为:
- 这意味着从编号 1 到 50 的节点全部都是分支节点(共 50 个);
- 剩余编号从 51 到 100 的节点全部都是叶子节点,叶子节点总数为
个!
- 总结点数
- 选项 A (49) 错误:计算偏差干扰项。
- 选项 B (50) 正确:直接整除秒杀得到 50。
- 选项 C (51) / 选项 D (52) 错误:混淆了奇数节点完全二叉树的计算结果。
考点通关与速查导航
- 📖 全科公式速查:上午综合知识高频计算公式与速解模板速查表
- 🚨 全科避坑指南:上午综合知识高频易错避坑清单与秒杀模板库
- 🏠 专题备考导航:上午综合知识备考导航