資料結構 找樹根和孩子(樹)

2021-08-07 08:11:14 字數 979 閱讀 3600

•方法1:陣列,稱為「父親表示法」。

constint m = 10;           //樹的結點數

struct node

int data, parent;        //資料域,指標域

node tree[m];

例如:tree[2]=1;//表示節點2的父親節點為1

優缺點:利用了樹中除根結點外每個結點都有唯一的父結點這個性質。很容易找到樹根,但找孩子時需要遍歷整個線性表。 

【問題描述】

給定一棵樹,輸出樹的根root,孩子最多的結點max以及他的孩子

【輸入格式】

第一行:n(結點數<=100),m(邊數<=200)。  

以下m行;每行兩個結點x和y,

表示y是x的孩子(x,y<=1000)。

【輸出格式】

第一行:樹根:root。  

第二行:孩子最多的結點max。   

第三行:max的孩子。

【輸入樣例】

8 74 1

4 21 3

1 52 6

2 72 8

【輸出樣例】

for(i=1;i<=n;i++)//找出樹根

}for(i=1;i<=n;i++)//找孩子最多的節點maxroot

if(sum>max)

} cout<

找樹根和孩子

給定一棵樹,輸出樹的根root,孩子最多的結點max以及他的孩子 輸入的第一行為t,表示測試資料的組數。對於每組測試資料的第一行 n 結點數 100 m 邊數 200 以下m行 每行兩個結點x和y,表示y是x的孩子 x,y 1000 對於每組測試資料 第一行 樹根 root。第二行 孩子最多的結點m...

找樹根和孩子

題目描述 給定一棵樹,輸出樹的根 root,孩子最多的結點 max 以及他的孩子。輸入 第一行 n 結點個數 100 m 邊數 200 以下 m 行 每行兩個結點 x 和 y,表示 y 是 x 的孩子 x,y 1000 輸出 第一行 樹根 root 第二行 孩子最多的結點 max 第三行 max 的...

樹 找樹根和孩子

題目描述 給定一棵樹,輸出樹的根root,孩子最多的結點max以及他的孩子 輸入第一行 n 結點數 100 m 邊數 200 以下m行 每行兩個結點x和y,表示y是x的孩子 x,y 1000 輸出第一行 樹根 root。第二行 孩子最多的結點max。第三行 max的孩子。樣例輸入8 7 4 14 2...