Мне нужна помощь в теории расчета высоты двоичного дерева, как правило, обозначение.Вычисление высоты двоичного дерева
Я прочитал следующую статью:
Calculating height of a binary tree
И один из постов дает следующие обозначения:
высота (узел) = макс (высота (node.L), высота (node.R)) + 1
Давайте предположим, что у меня есть следующий бинарное дерево:
10
/ \
5 30
/\ /\
4 8 28 42
Должен ли я вычислить максимальное значение на левом узле (8) и узле max справа (42), а затем добавить 1? Я не совсем понимаю, как эта нотация работает, чтобы вычислить высоту дерева.
Это рекурсивный алгоритм. 'height' вызывает себя до тех пор, пока он не достигнет дна каждой ветви дерева. –
Я бы добавил, что, когда он доходит до сути, он проверяет, превышает ли высота высоту существующей сохраненной высоты и, если это так, обновляет ее. –
@ChrisChambers Спасибо за ответ. Итак, мы умножаем 'node.L' на' node.R' Какова была бы высота текущего дерева в качестве примера? – Phorce