目 录
1. 二叉树的定义
1.1 有序树和无序树之分
1.2 二叉树的定义
2. 二叉树的性质
2.1 非空二叉树上叶节点数等于双分支节点数加 1
2.2 非空二叉树上第 i 层上至多有 个节点,这里应有 i≥ 1
2.3 高度为 h 的二叉树至多有 -1 个节点(h>1)
3. 特殊的二叉树
3.1 满二叉树
3.1.1 满二叉树定义
3.1.2 满二叉树特点
3.2 完全二叉树
3.2.1 完全二叉树定义
3.2.2 完全二叉树特点
3.2.3 完全二叉树性质
前面说了很多树的性质,就是为了引出我们最常见的一种树---二叉树。
1. 二叉树的定义
1.1 有序树和无序树之分
前面说了树,一个节点可能有多个分支节点,这些分支节点之间可以是有序的,也可以是无序的。分支节点有序的树,即有序树。
有序树:从左到右每一个子树都是有次序的。
无序树:从左到右每一个子树都是无次序的。这种树称为无序树,也称为自由树
1.2 二叉树的定义
二叉树,即度为 2 的树,它的每个节点的度都不大于 2,在一般使用过程中,我们认为它是有序的树!它的两个分支,分别是左分支、右分支,是有顺序的。
2. 二叉树的性质
2.1 非空二叉树上叶节点数等于双分支节点数加 1
二叉树中可以将分支节点分为:度数为 0 的叶子节点数 a,度数为 1 的单节点数 b,度数为 2 的双分支节点数 c,树中的节点总数 n = a+b+c。
之前树的性质 1:树中的节点数等于所有节点的度数加 1,二叉树也是一种树,也满足这一条件。而一个节点的度就是它有几个分支。根据这一点,可以得到 n=b+2*c+1。
即 a+b+c=b+2*c+1 ===> a=c+1
从而得到:非空二叉树上叶节点数等于双分支节点数加 1
2.2 非空二叉树上第 i 层上至多有 个节点,这里应有 i≥ 1
根据树的性质 2:度为 m 的树中第 i 层 ( i≥1 ) 上至多有个节点。
二叉树的度为 2,那么非空二叉树上第 i 层上至多有 个节点,这里应有 i≥ 1
2.3 高度为 h 的二叉树至多有 -1 个节点(h>1)
根据树的性质 3:h>1 时候,高度为 h的 m 次树至多有 个节点。
二叉树的度为 2,那么 高度为 h 的二叉树至多有 -1 个节点(h>1)
3. 特殊的二叉树
3.1 满二叉树
3.1.1 满二叉树定义
3.1.1 满二叉树定义
在一棵二叉树中,如果所有分支节点都有左 孩子节点和右孩子节点,并且叶节点都集中 在二叉树的最下一层,这样的二叉树称为满二叉树。如下图,就是一个高度为 3 的满二叉树。
3.1.2 满二叉树特点
- 叶子节点都在最下一层;高度为 h 的二叉树叶子节点个数为
- 只有度为 0 和度为 2 的节点;高度为 h 的二叉树节点总数是
- 如果对满二叉树编写序号,从上而下,从左而右,序号从 1 开始,那么如果满二叉树的个数是 n,那么序号小于 的节点为分支节点, 否则为叶子节点。
3.2 完全二叉树
3.2.1 完全二叉树定义
3.2.1 完全二叉树定义
如果二叉树中最多只有最下面两层的节点的度数可以小于2,并且最下面一层的叶节点都依次排列在该层最左边的位置上,则这样的二 叉树称为完全二叉树。
如下图,就是一个高度为 3 的完全二叉树。可以看出,完全二叉树是去接近满二叉树的一个中间状态
3.2.2 完全二叉树特点
- 叶子结点只能在层次最大的两层上出现:
- 最大层次上的叶子结点,都依次排列在 该层最左边的位置上
- 如果有度为 1 的节点,只能有一个,且 该节点只有左孩子,没有右孩子
- 按层编号后,一旦出现某节点(编号为i) 为叶子结点或只有左孩子,则编号大于i 的节点,均为叶子节点
- 完全二叉树中一旦 n 确定,其树形就确定了,可以计算出高度 h 以及叶子节点数
3.2.3 完全二叉树性质
对完全二叉树中编号为 i 的节点(1≤i≤n,n≥1,n 为节点数),会发现有以下数学特性
- 若 n 为奇数,则每个分支节点都既有左孩子节点, 也有右孩子节点;
- 若 n 为偶数,则编号最大的分支 节点只有左孩子节点,没有右孩子节点,其余分支节点都有左、右孩子节点。
- 编号为 i 的节点有左孩子节点,则左孩子节点的编号为 2i;若编号为 i 的节点有右孩子节 点,则右孩子节点的编号为 (2i+1)。也可以根据以上特性,从当前孩子节点反推父母节点。



