#include
#include
#include
using
namespace std;
const
int n =
110;
int n, m;
int h[n]
, e[n]
, ne[n]
, idx;
//該地方利用了陣列模擬鄰接表的原理來構造樹,可以多查詢相關的表示方法,網上有很多。
int cnt[n]
, max_depth;
void
add(
int a,
int b)
void
dfs(
int u,
int depth)
for(
int i = h[u]
;~i; i = ne[i]
)dfs
(e[i]
, depth +1)
;}intmain()
}dfs(1
,0);
cout << cnt[0]
;for
(int i =
1; i <= max_depth; i ++
) cout <<
' '<< cnt[i]
;//pat容易卡結果的空格所以要規範輸出
cout << endl;
return0;
}```
PAT 1004 求各層次葉子節點的數量
題意 給乙個樹,求各層次的葉子節點數量 思路 直接通過葉子節點向上遍歷,數出他是第幾層,然後對應層的葉子數量加1.注意要去一下最大層的層數。還有就是只有1個根節點的話,不視作葉子節點。include include include include include include include in...
葉子節點數
易老師的部落格 有同學問 為什麼具有100個結點的完全二叉樹的葉子節點數為50?這個問題很有意思,謝謝這同同學的提問。現在分析一下。如果一棵完全二叉樹有100個結點,我們根據以下兩點 1.二叉樹的性質 深度為k的二叉樹,最多有2的k次方 1個結點。2.對於完全二叉樹而言,葉子結點只能出現在最後兩層,...
PAT甲級輔導課 樹 數葉子結點
家庭關係可以用家譜樹來表示,給定乙個家譜樹,你的任務是找出其中沒有孩子的成員。輸入格式 第一行包含乙個整數 n 表示樹中結點總數以及乙個整數 m 表示非葉子結點數。接下來 m 行,每行的格式為 id k id 1 id 2 id k id 是乙個兩位數字,表示乙個非葉子結點編號,k 是乙個整數,表示...