二叉樹中的問題詳情

2021-12-29 19:43:39 字數 730 閱讀 8507

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

二叉樹 二叉樹

題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹...

二叉樹問題 二叉樹層級列印

給定二叉樹的頭結點,按層級列印二叉樹節點值。從上到下按層遍歷,應該是先遍歷到的節點先輸出。因此用佇列作為輔助結構來解此題。層級遍歷中關鍵點要知道什麼時候換層。用兩個變數last 和nlast,分別指向當前層的最右邊和下一層的最右邊節點。當當前層的最右邊節點從佇列中輸出時,表示這一層遍歷完畢了,此時使...

二叉樹問題

mirror of search tree.cpp 定義控制台應用程式的入口點。二叉樹的映象實現,二叉樹的廣度優先遍歷 佇列 include stdafx.h include iostream include queue using namespace std struct bstnode temp...