如何在C#中找到左右子树的高度

时间:2013-02-27 10:46:33

标签: c# binary-tree binary-search-tree subtree

如何左右找到子树高度,我在以下链接中使用了此代码 C# BST

任何帮助都将不胜感激。

亲切的问候

1 个答案:

答案 0 :(得分:0)

好吧,如果这是BST的正确实施,那么它们应该是平衡的。

但是为了测试它,这是一个简单的递归实现。

public int TreeDepth( TreeNode<T> tree, int depth = 0 )
{
    int leftDepth = tree.Left != null 
        ? TreeDepth( tree.Left, depth + 1 ) 
        : depth;
    int rightDepth = tree.Right != null 
        ? TreeDepth( tree.Right, depth + 1 ) 
        : depth;
    return leftDepth >= rightDepth 
        ? leftDepth 
        : rightDepth;
}