已知節點數為767個的完全二叉樹,葉子節點是多少?
若n為總節點數
n0為 度為0的節點數
n1為 度為1的節點數
n2為 度為2的節點數
n=n0+n1+n2
n0=n2+1
所以 n = 2n0+n1-1 =767
又因為完全二叉樹度為1 的有0 或 1 個
n=2n0 或者 n =2n0-1
767不能被2整除,所以 2n0 = 768 所以 n0為384,葉子節點384個
二叉樹結點計算問題
設一棵滿二叉樹中,度為2的結點數為7,則二叉樹的全部結點可能為多少?
只有一個答案啊,因為二叉樹中n0 = n2 + 1,現在度為2的結點個數是7,所以度為0的結點(也就是葉子)個數為8,並且滿二叉樹中沒有度為1的結點,因此二叉樹的全部結點個數為15
深度為k的二叉樹,最多有2^k-1個節點。(滿二叉樹情況,減去根節點)
證明二叉樹的第i層上至多有2的i-1次方個結點
第1層1個,為2^(1-1)
二叉樹每個結點至多2個孩子,因此
第二層最多2 *1 = 2^(2-1)
第三層最多2*2= 2^(3-1)
....
第i層上至多有2的i-1次方個結點
具有 n 個結點的完全二叉樹的深度 (注:[ ]表示向下取整)
深度為k的二叉樹的節點總數最多為1+2+4+..+2^(k-1)=2^k-1
則設n個節點的二叉樹深度為m,2^m-1>=n
m>=log2(n+1)>log(2n),由於m是整數
m>=[log2n]+1
對任意的一顆二叉樹 T ,若葉子結點數為 n0,而其度數為 2 的結點數為 n2,則 n0 = n2+1
解答:設:節點總數是K+1 =n0+n1+n2
度總數是 K = 2n2+n1
n2-n0+1=0
得出結論: n0=n2+1
如果有一顆有n個節點的完全二叉樹的節點按層次序編號,對任一層的節點i(1<=i<=n)有
(1).如果i=1,則節點是二叉樹的根,無雙親,如果i>1,則其雙親節點為[i/2],向下取整
(2).如果2i>n那么節點i沒有左孩子,否則其左孩子為2i
(3).如果2i+1>n那么節點沒有右孩子,否則右孩子為2i+1
完全二叉樹
定義:一棵二叉樹中,只有最下面兩層結點的度可以小於2,並且最下一層的葉結點集中在靠左的若干位置上。這樣的二叉樹稱為完全二叉樹。
特點:葉子結點只能出現在最下層和次下層,且最下層的葉子結點集中在樹的左部