1
これは高さを見つけるための再帰的な方法ですが、バイナリ検索ツリーに非常に多くのノードがあります。ツリーの高さを見つけて、個々のサブツリーに高さを割り当てたいと思います。だから再帰的なメソッドは、stackoverflowの例外をスローする、私はこれを非再帰的にスタックを使用せずに行うのですか?BSTの高さを非再帰的に見つけるか?
private int FindHeight(TreeNode node)
{
if (node == null)
{
return -1;
}
else
{
node.Height = 1 + Math.Max(FindHeight(node.Left), FindHeight(node.Right));
return node.Height;
}
}
私は、トラバースのポストオーダーを使用しなければならないと思っていますが、スタックはありません。