Рекурсивный механизм для поиска максимальной глубины глубины бинарного дерева очень прост, но как мы можем сделать это эффективно без рекурсии, поскольку у меня есть большое дерево, где я бы предпочел избежать этой рекурсии.Поиск максимальной глубины двоичного дерева без рекурсии
//Recursive mechanism which I want to replace with non-recursive
private static int maxDepth(Node node) {
if (node == null) return 0;
return 1 + Math.max(maxDepth(node.left), maxDepth(node.right));
}
PS: Я ищу ответы на Java.
Спасибо - я принял ваш ответ, поскольку он не ведет список перемещенных узлов, которые добавили сложность пространства. – Hemant
Замечание о реализации: лучше использовать 'ArrayDeque' вместо' Stack' в Java: класс 'Stack' излишне синхронизирован. –