求树的深度(通解)

Posted mld-code-life

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求树的深度(通解)相关的知识,希望对你有一定的参考价值。

树的深度求解


 

 递归方法求深度   

          寻找递归的条件:

    解题思路: (1)如果树只有一个结点,则树的深度为1。

             (2)如果根结点只有左子树或者只有右子树,那么这棵树的深度是其根结点的左子树的深度再加1。

          (3)如果根结点既有左子树又有右子树,那么这棵树的深度是左子树深度与右子树深度的最大值再加1。

        

  int GetTreeDepth(BiTree &T)
    {
        if (!T)
        {
            return 0;
        }

        int left = GetTreeDepth(BiTree T->lchild);
        int right =GetTreeDepth(BiTree T->rchild);

        return (left >=right ? left  : right) + 1;
    }

 

以上是关于求树的深度(通解)的主要内容,如果未能解决你的问题,请参考以下文章

hdu 4707 PetBFS求树的深度

Minimum Depth of Binary Tree,求树的最小深度

PAT-1021 Deepest Root (25 分) 并查集判断成环和联通+求树的深度

树的遍历——A1106.Lowest Price in Supply Chain(25) 求树的深度最小的叶子结点 与A1190类似

HDU 4612 Warm up(双连通分量缩点+求树的直径)

hdu4612 无向图中随意加入一条边后使桥的数量最少 / 无向图缩点+求树的直径