用c语言求树的高度(数据结构)题目描述一棵树有n个节点,其中1号节点为根节点.输入格式第一行是整数n,表示节点数后面若干行,每行两个整数a b,表示b是a的子节点.输出求这棵树的高度(根

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 12:24:11
用c语言求树的高度(数据结构)题目描述一棵树有n个节点,其中1号节点为根节点.输入格式第一行是整数n,表示节点数后面若干行,每行两个整数a b,表示b是a的子节点.输出求这棵树的高度(根

用c语言求树的高度(数据结构)题目描述一棵树有n个节点,其中1号节点为根节点.输入格式第一行是整数n,表示节点数后面若干行,每行两个整数a b,表示b是a的子节点.输出求这棵树的高度(根
用c语言求树的高度(数据结构)
题目描述
一棵树有n个节点,其中1号节点为根节点.
输入格式
第一行是整数n,表示节点数
后面若干行,每行两个整数a b,表示b是a的子节点.
输出
求这棵树的高度(根节点为第1层)
样例输入
5
1 2
1 3
3 4
3 5
样例输出
3

用c语言求树的高度(数据结构)题目描述一棵树有n个节点,其中1号节点为根节点.输入格式第一行是整数n,表示节点数后面若干行,每行两个整数a b,表示b是a的子节点.输出求这棵树的高度(根
#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
    int data;
    struct node *next;
}Link;

void insertNode(Link *head, int data) {
    Link *p = head;
    Link *q = (Link *)malloc(sizeof(Link));
    q->data = data;
    q->next = NULL;
    while(p->next != NULL) p=p->next;
    p->next = q;
}
void freeNode(Link *head) {
    Link *p = head->next;
    Link *q;
    head->next = NULL;
    while(p != NULL){
        q = p;
        p=p->next;
        free(q);
    }
}

int deep(Link ** tree, int start) {
    int depth = 1;
    Link *p;
    if(tree[start]->next == NULL) {
        return depth;
    }
    p= tree[start]->next;
    while(p!= NULL){
        int tmp = deep(tree, p->data - 1);
        if(tmp > depth) depth = tmp;
        p=p->next;
    }

    return depth + 1;
}

int main(){
    int count, i;
    int a, b;
    Link **tree;
    
    scanf("%d", &count);
    tree = (Link **)malloc(sizeof(Link*)*count);
    for(i=0;i<count;++i) {
        tree[i] = (Link *)malloc(sizeof(Link));
        tree[i]->next = NULL;
    }
    while((scanf("%d%d",&a, &b))!=EOF){
        if(a>0 && b>0) {
            insertNode(tree[a-1], b);
        }
    }
    printf("%d\n", deep(tree, 0));
    for(i=0;i<count;++i) {
        freeNode(tree[i]);
        free(tree[i]);
    }
    free(tree);
    return 0;
}

用c语言求树的高度(数据结构)题目描述一棵树有n个节点,其中1号节点为根节点.输入格式第一行是整数n,表示节点数后面若干行,每行两个整数a b,表示b是a的子节点.输出求这棵树的高度(根 广义表基本运算(建立、查找、求表头、求表尾、深度)数据结构的设计题目,要求用C语言实现~``谢谢~·符合要求有追加分的``` 数据结构的算法:写出一算法输出已知顺序表A中元素的最大值和次最大值.用非形式算法描述,并编写C语言程 求数据结构与算法分析:C语言描述Mark Allen Weiss写的是课文,最好是英文的. 数据结构串的操作:求单词个数用C语言边个程序求单词个数 数据结构的题目求解答 数据结构-图的邻接表表示(C语言) 数据结构(C语言) 如何分别用顺序和链式 实现一元多项式的相加? 数据结构C语言括号的检验源程序 数据结构 用C语言编程:求邻接矩阵存储结构的有向图G中各结点的出度 我们的数据结构课程设计作业,要求用C语言编写(急求)后天交作业呢 设计一个程序求出完成整项工程至少需要多少时间以及整项工程中的关键活动.基本要求:1对一个描述工程的AOE网,应判 数据结构试验(用C语言)建立一棵二叉树,并用递归或者非递归的算法分别用先序.中序和后序遍历、谢谢能附一点实验思路更好 关于数据结构的问题,用C语言描述1.设一函数 f(x,y)=(1+A*(e^B/cosθ)*(1+C*(cosψ)^2),其中θ=(π*x)/180,ψ=(π*y)/180,参数A=-0.5,B=-0.4,C=-0.1.x从0变化到89,步长为1,y从0变化到359,步长为1.采用一种数据结构,完成f( 跪求C语言数据结构程序设计有一集合中有 N 个元素,每个元素均为自然数.给定一个 total (假设每个 元素值均小于total),求满足条件的所有子集,子集中各元素之和应等于total最好描述下程序功 【please】请推荐本C描述的数据结构 我用C语言写一个关于算术表达式求值的程序.(用数据结构中的栈知识) 数据结构(C) 请用类C语言实现括号匹配的检验这个算法 求魔王语言的代码求高手前来知道小弟因为数据结构课程设计遇到了问题,课程设计的题目为魔王语言的翻译,问题描述有一个魔王总是使用自己的一种非常精炼而抽象的语言讲话,没有人能听