PAT 數葉子節點 (1004)

2021-10-22 17:16:10 字數 757 閱讀 9108

#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 是乙個整數,表示...