二叉樹的性質:
在二叉樹的第i層至多有 2 i + 1 ( i > = 1 ) 2^{i+1}(i>=1) 2i+1(i>=1)
深度為k的二叉樹最多有 2 k ? 1 2^k-1 2k?1個結點
對于任意一棵二叉樹T,如果其終端結點數為 n 0 n_0 n0?,度為2的結點數為 n 2 n_2 n2?,則 n 0 = n 2 + 1 n_0=n_2+1 n0?=n2?+1
證明:
除了根結點,其他所有結點的腦袋上都有一根線,所以 l = n ? 1 l = n -1 l=n?1而二叉樹中結點有度為1的結點(葉子結點),度為1的結點,度為2的結點,度代表屁股下面有幾條線,所以就有 l = 0 ? n 0 + 1 ? n 1 + 2 ? n 2 l = 0*n_0+1*n_1+2*n_2 l=0?n0?+1?n1?+2?n2?, n = n 0 + n 1 + n 2 n = n_0+n_1+n_2 n=n0?+n1?+n2?
三條方程解得: n 0 = n 2 + 1 n_0=n_2+1 n0?=n2?+1
完全二叉樹的性質:
具有 n n n個結點的完全二叉樹的深度為 [ l o g 2 n ] + 1 ( [ x ] 表示不大于 x 的最大整數 ) [log_2n]+1([x]表示不大于x的最大整數) [log2?n]+1([x]表示不大于x的最大整數)
對于任意一個結點 ( 1 < = i < = n ) (1<=i<=n) (1<=i<=n):
- 如果i==1,則結點i即為二叉樹的根,無雙親;如果i>1,則其雙親結點為 [ i / 2 ] [i/2] [i/2]
- 如果 2 i > n 2i>n 2i>n,則結點 i i i無左孩子(結點 i i i為葉子結點);否則其左孩子結點為 2 i 2i 2i
- 如果 2 i + 1 > n 2i+1>n 2i+1>n,則結點 i i i無右孩子,否則其右孩子為 2 i + 1 2i+1 2i+1