求葉子結點的演算法
① 怎麼計算C語言的二叉樹中的葉子節點數
結點的度是指,該結點的子樹的個數,在二叉樹中,不存在度大於2的結點。
計算公式:n0=n2+1
n0
是葉子節點的個數
n2
是度為2的結點的個數
n0=n2+1=5+1=6
故二叉樹有5個度為2的結點,則該二叉樹中的葉子結點數為6。
(1)求葉子結點的演算法擴展閱讀
葉子結點是離散數學中的概念。一棵樹當中沒有子結點(即度為0)的結點稱為葉子結點,簡稱「葉子」。
葉子是指度為0的結點,又稱為終端結點。
葉子結點
就是度為0的結點
就是沒有子結點的結點。
n0:度為0的結點數,n1:度為1的結點
n2:度為2的結點數。
N是總結點
在二叉樹中:
n0=n2+1;
N=n0+n1+n2
參考資料:葉子結點_網路
② 二叉樹的葉子節點數如何計算
結點的度是指,該結點的子樹的個數,在二叉樹中,不存在度大於2的結點。
計算公式:n0=n2+1
n0 是葉子節點的個數
n2 是度為2的結點的個數
n0=n2+1=5+1=6
故二叉樹有5個度為2的結點,則該二叉樹中的葉子結點數為6。
(2)求葉子結點的演算法擴展閱讀
葉子結點是離散數學中的概念。一棵樹當中沒有子結點(即度為0)的結點稱為葉子結點,簡稱「葉子」。 葉子是指度為0的結點,又稱為終端結點。
葉子結點 就是度為0的結點 就是沒有子結點的結點。
n0:度為0的結點數,n1:度為1的結點 n2:度為2的結點數。 N是總結點
在二叉樹中:
n0=n2+1;
N=n0+n1+n2
參考資料:葉子結點_網路
③ 完全二叉樹中葉子節點的演算法
noip中經常會遇到求完全二叉樹葉子結點的問題,比如第十一屆全國青少年信息學奧林匹克聯賽初賽試題的第四題:完全二叉樹的結點個數為4 *N+ 3 ,則它的葉結點個數為()。
A. 2 *N B. 2 *N- 1 C. 2 *N+ 1 D. 2 *N- 2 E. 2 *N+ 2
結論:如果一棵具有n個結點的深度為k的完全二叉樹,其葉子結點數和總結點數有這樣的關系:n(葉子)=(n總+1)/2,由上所知,我們可以判斷這道題的 葉結點個數為(4 *N+ 3+1)/2=2 *N+ 2.
14(第十二屆).高度為n的均衡的二叉樹是指:如果去掉葉結點及相應的樹枝,它應該是高度為n-1的滿二叉樹。在這里,樹高等於葉結點的最大深度,根結點的深度為0,如果某個均衡的二叉樹共有2381個結點,則該樹的樹高為()。
A. 10 B. 11 C. 12 D. 13
均衡二叉樹就是:任意兩個度不為2的節點的深度之差不大於1
例如:
1
/ \
2 3
\ /
4 5
是均衡二叉樹
而
1
/ \
2 3
\ / \
4 5 6
/
7
就不是,2和7的深度差2.
因為2^11 = 2048;所以一顆滿二叉樹從深度為0(根節點)到深度10的總節點數是2047,剩下2381-2047 = 334個節點,這剩下的節點的深度都是11。
所以答案為B
④ 完全二叉樹的葉子節點數公式是什麼
完全二叉樹的葉子節點數公式為:
設葉子節點數為n0, 度為1的節點數為n1,度為2的節點數為n2,總節點為n。
1、當n為奇數時(即度為1的節點為0個),n0= (n+1)/2。
2、當n為偶數(即度為1的節點為1個), n0= n/2。
n1,n2,都可以求。
特殊類型:
1、滿二叉樹:如果一棵二叉樹只有度為0的結點和度為2的結點,並且度為0的結點在同一層上,則這棵二叉樹為滿二叉樹。
2、完全二叉樹:深度為k,有n個結點的二叉樹當且僅當其每一個結點都與深度為k的滿二叉樹中編號從1到n的結點一一對應時,稱為完全二叉樹。
3、完全二叉樹的特點是葉子結點只可能出現在層序最大的兩層上,並且某個結點的左分支下子孫的最大層序與右分支下子孫的最大層序相等或大1。
相關術語:
1、結點:包含一個數據元素及若干指向子樹分支的信息。
2、結點的度:一個結點擁有子樹的數目稱為結點的度。
3、葉子結點:也稱為終端結點,沒有子樹的結點或者度為零的結點。
4、結點的層次:從根結點開始,假設根結點為第1層,根結點的子節點為第2層,依此類推,如果某一個結點位於第L層,則其子節點位於第L+1層。
5、樹的深度:也稱為樹的高度,樹中所有結點的層次最大值稱為樹的深度。
以上內容參考 網路-二叉樹
⑤ 求統計二叉樹葉子結點數的遞歸演算法
···cpp
由於不知道你的存儲方式,假設你是指針存,用孩子兄弟表示法。
(偽)代碼:
structnode{
data{
...
}val;
node*fchild,*brother;
}
voidgetnum(nodex){
if(x.fchild==nu)ans++;
else{
getnum(*x.fchild);
getnum(*x.brother);
}
}
就這樣
⑥ 二叉樹的葉子節點數如何計算
二叉樹的葉子節點數:沒有子樹的結點是葉子結點。結點的度是指,該結點的子樹的個數,在二叉樹中,不存在度大於2的結點。
計算公式:n0=n2+1
n0
是葉子節點的個數
n2
是度為2的結點的個數
n0=n2+1=5+1=6
故二叉樹有5個度為2的結點,則該二叉樹中的葉子結點數為6。