1.非空二叉树的叶子节点数是度为2的节点数+1;
证明:度是树的分支数目,二叉树的度为0、1、2。假设N0表示度为0的节点数,N1表示度为1的节点数,N2表示度为2的节点数。
N0+N1+N2=N (该式表达意思是总节点数为N)
N1+2N2=N-1 (该式表达意思是所有伸出来的路径来自于度为1和度为2的节点)
由上述两个式子可得,N0=N2+1
2.证明在N个节点的二叉树中,存在N+1个NULL指针代表N+1个儿子。
证明:
方法(1)
N个节点,在链表结构中,每个节点都会存有两个指针分别指向左儿子和右儿子,即共有2N个指针。除根节点外,每个节点都只有一个父节点,即有N-1个非空指针,此时则有N+1空指针代表N+1个儿子。
方法(2)
度是指树的分支数目,二叉树的度为0,1,2。N个节点,假设N0表示度为0的节点有N0个,N1表示度为1的节点有N1个,N2表示度为2的节点有N2个。即
N0+N1+N2=N (a)
这里我们用到了一个结论非空二叉树的叶子节点是度为2的节点数+1。
即N0=N2+1,带入(a)式可得N1+2*N2=N-1,由于总的指针数为2N,那么空指针数为N+1
3.高度为H的二叉树中,节点的最大个数是2^(H+1)-1
证明:高度为H,即说明根节点的路径长为H,该二叉树有H+1层,当二叉树为满树时,节点最多,即节点最大为
1+2+4+...+2^H,根据等比数列的求和公式可得,值为2^(H+1)-1