1樓:迮玉芬能寅
完全二叉樹是指這樣的二叉樹:除最後一層外,每一層上的結點數均達到最大值;在最後一層上只缺少右邊的若干結點。
更確切地說,如果一棵具有n個結點的深度為k的二叉樹,它的每一個結點都與深度為k的滿二叉樹中編號為1~n的結點一一對應,這棵二叉樹稱為完全二叉樹。
可以根據公式進行推導,假設n0是度為0的結點總數(即葉子結點數),n1是度為1的結點總數,n2是度為2的結點總數,由二叉樹的性質可知:n0=n2+1,則n=
n0+n1+n2(其中n為完全二叉樹的結點總數),由上述公式把n2消去得:n=
2n0+n1-1,由於完全二叉樹中度為1的結點數只有兩種可能0或1,由此得到n0=(n+1)/2或n0=n/2,合併成一個公式:n0=取整((n+1)/2),就可根據完全二叉樹的結點總數計算出葉子結點數。
2樓:貫翠花可媼
設一顆二叉樹葉子節點個數為l,度為1的節點個數為m,度為2的節點個數為n.
顯然易知:一顆二叉樹的節點數
=這個樹的度加1(因為每個節點都是前一個節點的度,根節點除外,所以要加1)故有l
+m+n
=2n+m
+1---->l=
n+1(這個對任意二叉樹都成立)
由於是完全二叉樹,則度為1的節點不是1個就是0個!(這個你可觀察任何一個完全二叉樹)若m=
1,則l+m
+n=(n
+1)+1+
n=700推出n
=349---》l
=350若m=
0,則l+m+n
=n+1+0+n
=700n=
699/2除不盡。故l=
350,m=
1,n=349
3樓:巢理青康震
前n-1
層共有2^(n
-1)-
1個節點,按答案:2^(n
-1)-
1=700
-350
=350。n無整數解!所以答案應該是錯的,你的應該是對的。
4樓:將磬佔靖琪
根據完全二叉樹的性質,葉結點的個數應該為:(結點總數/2)取上整,本題則為700/2=350,取上整還是350,所以有350個葉子節點
設一棵完全二叉樹共有結點,則在該二叉樹中有
你錯誤在 所以缺少了11個右結點 的 右 字上。是事實是最後一層上少了倒著少了11個結點。明確的說是少了6個右,5個左。所以,應該256 11,但是由於最後一層少了11個結點,所以上一層多了5個葉子結點,所以最終答案應該是 256 11 5 250 根據二叉樹的性質 對於一棵非空的二叉樹,如果葉子節...
一棵n個結點的完全二叉樹以向量(陣列)作為儲存結構,試設計非遞迴演算法對該完全二叉樹進行前序遍歷
空空之光 include define array max 12 int main int tree array max for int i 0 i array max i tree i i 1 int flag 0 記錄當前葉子的遍歷位置,0 剛遍歷到這個葉子,1 已經遍歷完成該葉子的左兒子,2 ...
設二叉樹共有結點,其中度為1的結點有,則該二叉樹中的葉子結點數為
早飯要吃白煮蛋 二叉樹結點種類為三種 度為0的結點,即葉子結點 度為1的結點 度為2的結點。所有二叉樹共有的一個性質是 度為0的結點永遠比度為2的結點多1個。這題的解答如下 假設度為0的結點數為x個,則x 10 x 1 150,則x 70.5,不可能有小數的結點個數,所以選擇d,不可能有這樣的二叉樹...