Мне нужно написать метод, который определяет, является ли двоичное дерево сбалансированным. Итак, сначала я должен определить высоту каждой стороны дерева. Но у меня возникают проблемы с пониманием того, как я собираюсь подсчитать максимальную длину поддерева, не считая все узлы в поддереве. Мне очень сложно задать этот вопрос, поэтому вы, ребята, можете понять.
// primary method
public int Height()
{
int h = height( root );
}
// recursive method
private int height( Node x )
{
if( x == null ) return 0;
count++;
height( x.left );
height( x.right );
return count;
}
Вот мой код для расчета максимальной высоты дерева.
Но я не знаю, как определить высоту левой или правой стороны,
и этот метод, кажется, подсчитывает количество узлов в самом дереве.