树与二叉树
本章在选择题中考察,需熟练掌握树的各种概念,并且能够手工模拟基于树的各种算法流程。
学习思维导图
## 树和二叉树
### 树的基本概念
### 二叉树
- 定义和主要特性
- 顺序存储结构和链式存储结构
- 遍历
- 线索二叉树的基本概念和构造
### 树、森林
- 树的存储结构
- 森林和二叉树的转化
- 树和森林的遍历
### 树和二叉树的应用
- 哈夫曼树和哈夫曼编码
- 并查集及其应用
本章的三条主线
- 先掌握树的术语和存储:结点的度、深度、高度、路径长度,以及双亲、孩子和孩子兄弟表示法回答的是“层级关系如何描述”。
- 再掌握二叉树的结构与遍历:顺序存储适合完全二叉树,链式存储适合一般二叉树;前、中、后序和层次遍历的访问次序必须能手工写出。
- 最后把结构用于问题:哈夫曼树用带权路径长度刻画编码代价,并查集用集合代表元维护连通分量。树、森林与二叉树之间的转换要保留“左孩子—右兄弟”的含义,不能把兄弟关系误作普通右孩子。
做题时尤其注意“树的高度”和“结点所在层数”的起始编号。题目若未说明根的层号或空树高度定义,应先按题设约定,不要套用另一份资料的公式。