1.概念
- 树:描述数据一对多关系的数据结构
- 节点:组成树形结构的数据统称为树型结构中的节点
- 根节点:只有后继没有前驱
- 分支节点:既有后继又有前驱,树型结构中的分支节点最多有一个前驱,但可以有多个后继
- 叶子节点:只有前驱没有后继
- 前驱(祖先):在中序遍历序列中,当前节点的前一个节点
- 后继(子孙):在中序遍历序列中,当前节点的后一个节点
- 度:前驱或后继的个数
- 入度:均为1
- 出度:后续节点的个数
- 层:根节点所在的位置成为第一层,没过一个节点,层数+1
- 高度:距离该节点最远的叶子节点的距离
- 深度:距离根节点的节点个数
- 树的高度 == 树的深度 == 树的层数
2.二叉树
- 每个节点最多有两个后继节点(子树)的树形结构,通常子树被称作"左子树"和"右子树"
- 满二叉树
- 每个节点都有0或2个子节点
- 所有叶子节点在同一层
- 完全二叉树
- 除最后一层外,每层都是满的
- 最后一层节点从左到右连续排列
- 左孩子:二叉树中节点左侧的子节点
- 右孩子:二叉树中节点右侧的子节点
- 二叉树的特性
- 第k层最多有:2^(k-1)个节点
- 前k层最多有:2^k-1个节点
- 二叉树的遍历
- 深度优先遍历:DFS
- 前序遍历:根左右
- 中序遍历:左根右
- 后序遍历:左右根
- 广度优先遍历:BFS
- 层序遍历
- 深度优先遍历:DFS

前:A B D H I E J C F G K
中:H D I B E J A F C G K
后:H I D J E B F K G C A
- 前序+中序------>后序
- 后序+中序------>前序