性质一
在二叉树的第i层上最多有2^(i-1)个节点(i>=1)
证明:采用归纳法证明此性质
- 当i=1时,只有一个根节点,2^(i-1) = 2^(0) = 1,命题成立
- 当j>1时, 由于二叉树的每个结点至多有两个孩子,故"第(i+1)层上的结点数目" 最多是 “第i层的结点数目的2倍”。也就是第(i+1)层节点数 = 2 * 第i层节点数。
- f(n) = 2*f(n-1).
f(1) = 1 = 2^(0)
f(2) = 2 * f(1) = 2^(1)
f(3) = 2^(2)
f(i) = 2^(i-1)
- f(n) = 2*f(n-1).
性质二
深度为k的二叉树最多有2^(k)-1个节点(k>=1)
证明:深度为k的二叉树的所有节点为各层上的所有节点之和。
- 证明:在具有相同深度的二叉树中,当每一层都含有最大结点数时,其树中结点数最多。利用"性质1"可知,深度为k的二叉树的结点数至多为:
20+21+…+2k-1=2k-1
故原命题得证!
1 + 2 = 4 -1
1 + 2 + 4 = 8 - 1
1 + 2 + 4 + 8 = 16 - 1
性质三
性质3:包含n个结点的二叉树的高度至少为log2 (n+1)
证明:根据"性质2"可知,高度为h的二叉树最多有2{h}–1个结点。反之,对于包含n个节点的二叉树的高度至少为log2(n+1)。
性质四
对任何一颗二叉树,如果其终端节点数为n0,度为2的节点数为n2,那么n0=n2+1
证明:因为二叉树中所有结点的度数均不大于2,所以结点总数(记为n)=“0度结点数(n0)” + “1度结点数(n1)” + “2度结点数(n2)”。由此,得到等式一。
(等式一) n=n0+n1+n2
令一方面,0度节点没有孩子,1度节点有一个孩子,2度节点有两个孩子,因为二叉树孩子节点的数量数n0 + 2*n2,故二叉树中的结点总数又可表示为等式二。
(等式二) n=n1+2 * n2+1
既有:n0+n1+n2 = 0 + n1 + 2*n2 + 1 ====》 n0 = n2 + 1