[Data Structure & Algorithm] 二叉树+性质+平衡二叉树+哈夫曼树
树的基本概念
- 度
- 结点的度 - 该结点子树的个数
- 树的度 - 该树中结点的最大度数
- 叶子结点(终端结点) - 终端结点
- 高度/深度/层数 - 该树的行数
二叉树
- 满二叉树
- 完全二叉树
- 最多最下面两层上结点的度数<2
- 最下一层上的结点都集中在该层左边的位置上
- 平衡二叉树
- 左右子树的|高度差| ≤ 1
- 平衡因子 = 左子树的高度 - 右子树的高度
二叉树性质
- 第i层上的结点数目最多为2i-1 (i ≥ 1)
- 深度为k的二叉树最多有2k-1个结点(k ≥ 1)
- 任意一颗二叉树,若0度结点的个数为n0,2度结点的个数为n2, 则n0 = n2 + 1
- 具有n个结点的完全二叉树的深度为[log2n]+1
哈夫曼树 - 最优二叉树
- 定义 - 树的带权路径长度最小
- 树的带权路径长度 - 树中所有叶子结点的带权路径长度之和
- 性质 - 哈夫曼树中没有度为1的结点