1.普通二叉树
1.1 定义
二叉树的定义是一种递归定义,它的特点是每个结点至多只存在两棵子树(即二叉树中不存在度大于2的结点),且左右子树有先后顺序之分。一棵二叉树要么是空树,要么是一个根结点加上左、右子树组成的二叉树。其中,左右子树也都是二叉树。
二叉树有5种基本的状态:
1.2 性质
二叉树的常见性质:
- 二叉树的第 i i i 层最多有 2 i − 1 2^{i-1} 2i−1 个结点
- 深度为 h h h 的二叉树至多有 2 h − 1 2^h-1 2h−1 个结点
- 任一棵二叉树 T,其叶子结点数为 n 0 n_0 n0, 度为2的结点数为 n 1 n_1 n1,则 n 0 = n 1 + 1 n_0 = n_1 + 1 n0=n1+1
2.满二叉树
一棵深度为 h h h,且有 2 h − 1 2^h-1 2h−1 个结点的二叉树称为满二叉树。如下图,特点是每一层上的结点都是最大结点数
假设堆满二叉树的结点进行连续编号,则深度为 h h h,结点树为 n n n 的二叉树,若其结点编号与一个深度为 h h