第11章 树 — 章节汇总

概览

第11章系统介绍了(Tree)这一重要的离散数学结构。全章从树的基本定义与等价刻画出发(11.1),建立根树、m叉树等概念体系;然后展示树在计算机科学中的四大经典应用——二叉搜索树决策树前缀编码/Huffman编码、博弈树(11.2);接着讨论树的遍历算法——前序、中序、后序遍历及其与表达式表示的对应关系(11.3);在此基础上引入生成树概念及 DFS/BFS 构造算法(11.4);最后聚焦带权图上的最小生成树问题,介绍 Prim 算法和 Kruskal 算法(11.5)。全章体现了从”基本定义→应用场景→遍历算法→生成树→优化问题”的递进知识链条,与第10章图论紧密衔接(树是特殊的连通无回路图),为第12章布尔代数和第13章形式语言与自动机奠定基础。


全章知识框架

graph TB
    A["第11章 树"] --> B["11.1 树的介绍"]
    A --> C["11.2 树的应用"]
    A --> D["11.3 树的遍历"]
    A --> E["11.4 生成树"]
    A --> F["11.5 最小生成树"]

    B --> B1["无向树定义"]
    B --> B2["树的等价条件"]
    B --> B3["根树与m叉树"]
    B --> B4["叶子与内部顶点关系"]

    C --> C1["二叉搜索树 BST"]
    C --> C2["决策树"]
    C --> C3["前缀编码与Huffman编码"]
    C --> C4["博弈树"]

    D --> D1["通用地址系统"]
    D --> D2["前序/中序/后序遍历"]
    D --> D3["中缀/前缀/后缀表达式"]

    E --> E1["生成树定义"]
    E --> E2["DFS深度优先搜索"]
    E --> E3["BFS广度优先搜索"]
    E --> E4["回溯法"]

    F --> F1["最小生成树定义"]
    F --> F2["Prim算法"]
    F --> F3["Kruskal算法"]

    B -.->|"树的应用基础"| C
    C -.->|"遍历有序根树"| D
    B -.->|"生成树=连通图的树子图"| E
    E -.->|"带权优化"| F
    C -.->|"Huffman=贪心"| F

    style A fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
    style B fill:#fff3e0,stroke:#e65100
    style C fill:#e3f2fd,stroke:#1565c0
    style D fill:#fce4ec,stroke:#c62828
    style E fill:#f3e5f5,stroke:#6a1b9a
    style F fill:#fff9c4,stroke:#f57f17

各节核心知识点汇总

小节核心概念关键公式/定理与前后节的关联
11.1 树的介绍无向树、根树、m叉树、有序根树(满m叉树);全章基础,定义树的形式化结构;与第10章图论衔接(树是连通无回路图)
11.2 树的应用BST、决策树、Huffman编码、博弈树排序下界 ;Huffman最优性;Minimax定理11.1 树结构的直接应用;BST 是 11.3 遍历的重要实例
11.3 树的遍历前序/中序/后序遍历、中缀/前缀/后缀表达式遍历的递归定义;表达式树与三种遍历的对应11.2 BST 的中序遍历产生有序序列;遍历算法是 11.4 DFS/BFS 的树版本
11.4 生成树生成树、DFS、BFS、回溯法连通 存在生成树;DFS/BFS 11.1 树定义在一般图上的应用;DFS 是 11.5 Prim 算法的基础
11.5 最小生成树Prim 算法、Kruskal 算法Prim ;Kruskal ;贪心正确性11.4 生成树在带权图上的优化;贪心策略与 11.2 Huffman 编码一致

学习脉络

树的基本定义与等价条件(11.1)— 掌握树的5种等价刻画,理解根树/m叉树的层次结构
  ↓
树的应用(11.2)— BST 是最重要的应用(查找/插入/删除),Huffman编码展示贪心策略的威力
  ↓
树的遍历(11.3)— 前序/中序/后序是树算法的核心操作,表达式转换是高频考点
  ↓
生成树(11.4)— DFS/BFS 是图论最重要的遍历算法,回溯法是搜索问题的通用框架
  ↓
最小生成树(11.5)— Prim/Kruskal 是贪心算法的经典应用,必须手动模拟完整实例

学习建议:11.1 节是全章的基石——务必彻底掌握树的 5 种等价刻画条件(尤其是 的证明);11.2 节的Huffman 编码需要手动模拟一个完整构造过程,排序下界 的决策树证明是重要理论结果;11.3 节的三种遍历必须能在具体树上手动执行,并理解它们与表达式表示的对应关系;11.4 节的DFS/BFS是图论最重要的算法之一,需要理解树边/回边的区别;11.5 节的Prim/Kruskal 算法必须各手动模拟一个完整实例,理解贪心正确性证明的核心思想(交换论证)。


跨节综合复习题

综合复习题 1(跨 11.1 / 11.2 / 11.3)

题目: (a) 一棵满二叉树有 15 个叶子,求其高度和内部顶点数。 (b) 将中缀表达式 转换为前缀和后缀表达式。 (c) 构造一棵包含 4 个叶子(频率分别为 5, 7, 10, 20)的最优 Huffman 树,并计算加权路径长度。

综合复习题 2(跨 11.4 / 11.5)

题目: 对以下带权图求最小生成树,分别用 Prim 算法和 Kruskal 算法。

顶点集 ,边权:


笔记索引

小节笔记链接核心主题
11.111.1 树的介绍树的定义、等价条件、根树、m叉树、叶子与内部顶点关系
11.211.2 树的应用BST、决策树、排序下界、Huffman编码、博弈树
11.311.3 树的遍历前序/中序/后序遍历、中缀/前缀/后缀表达式
11.411.4 生成树生成树、DFS、BFS、回溯法
11.511.5 最小生成树Prim算法、Kruskal算法、贪心正确性