树的高度,用C语言编写程序一棵树有n个节点,其中1号节点为根节点输入要求:第一行是整数n,表示节点数后面若干行,每行两个

树的高度,用C语言编写程序
一棵树有n个节点,其中1号节点为根节点
输入要求:第一行是整数n,表示节点数
后面若干行,每行两个整数a,b,表示b是a的子节点
输出要求:求这棵树的高度(根节点为第一层)
假如输入
5
1 2
1 3
3 4
3 5
应当输出
3
huazuyouxuan 1年前 已收到1个回答 举报

yy朋友 幼苗

共回答了16个问题采纳率:81.3% 举报

思路为叶子的高度是父结点加一,记下最大的那个.

#include

int main () {
int a, b, n, m = 0;
int tree[1000] = {0}; /* 最大结点数+1 */

scanf("%d", n);
while (scanf("%d%d", a, b) > 0) {
tree[b] = tree[a] + 1;
if (m < tree[b]) m = tree[b];
}

printf("%d", m + 1);
return 0;
}

1年前

8
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.022 s. - webmaster@yulucn.com