树的分类、二叉树的四种遍历
树
不限制每个节点的子节点个数
1.1 二叉树
每个元素的子节点个数最多为2,所以有左右节点之分
1.1.1 满二叉树
概念:除了最后一层,所有层的节点的子节点个数都是2
节点数n = 2的(h-1)次方 → h为树的深度
1.1.2 完全二叉树
满足下列条件:
- 最后一层元素必须左到右的元素紧凑相连
- 抹去最后一层节点,则该树为满二叉树
1.1.3 堆
概念:
-
大顶堆: 节点值 >= 左右节点值的完全二叉树
- 小顶堆: 节点值 <= 左右节点值的完全二叉树
1.1.4 斜树
概念:所有父节点的子节点只有左节点( 右节点 )
1.1.5 二叉查找( 排序 )树
该树中序遍历元素一定是从小到大排序的
满足下列条件
- 左节点小于父节点
- 右节点大于父节点
- 所有节点的左右子树都需满足 1、2条件
1.1.6 平衡二叉树
满足下列条件:
- 节点数 = 0 或者 左右子树的深度差 <= 1
- 树中每个节点的需要满足1条件
1.1.0 遍历
图中的完全二叉树四大遍历形式的结果:
-
前序遍历: 9 30 46 58 49 79
-
中序遍历: 46 30 58 9 79 49
-
后续遍历: 46 58 30 79 49 9
- 层次遍历: 9 30 49 46 58 79