作业帮 > 综合 > 作业

设树采用孩子兄弟表示法存放,用类C语言设计算法计算树的高度.

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/26 20:06:18
设树采用孩子兄弟表示法存放,用类C语言设计算法计算树的高度.
不要复制,
采用递归求解,先求左子树的高度和右子树的高度,然后整棵树的高度就是两颗子树高度的最大值+1.假定叶子节点高度为0.代码如下:
struct node {
    int val;
    struct node* left;
    struct node* right;
};

int height(struct node* root)
{
    int h, lh, rh;
    if ( root == NULL)
        return -1;//这里返回-1表示叶子节点的高度为0,若规定叶子节点的高度为1,这里返回0即可
    lh = height(root->left);
    rh = height(root->right);
    if (lh > rh) 
        h = lh + 1;
    else 
        h = rh + 1;
    return h;
}
再问: 能写个程序吗?
再答: 代码我上面不是已经写了吗,你可以把这个函数添加到自己的程序里面去啊