Как пересекать резьбовых бинарное дерево не рекурсивно О (п) без использования стеки (только разрешено использовать постоянное дополнительное пространство для временных переменных, поэтому мы можем 't добавить флаг посещения для каждого узла в дереве). Я хорошо провел время, думая об этом, но мне кажется, что мне не кажется выполнимым , если только мы не будем перемещать места памяти, у которых есть данные дерева. Предположим, что мы используем множественное представление массива для реализации указателей, тогда мы можем пересечь дерево в O (n), имеет ли кто-нибудь что-то еще в виду?Итерационных Каскадный Binary Tree обходе только с постоянным дополнительным пространством
Примечание Это не домашнего задания, чтобы сэкономить энергию некоторых штрихов клавиатуры писать комментарии о домашнем задании!
Вы смотрели на [Wikipedia] (http://en.wikipedia.org/вики/Threaded_binary_tree # Non_recursive_Inorder_traversal_for_a_Threaded_Binary_Tree)? – svick
@svick Второй шаг в алгоритме: _Step-2: Поместите этот левый дочерний элемент в список посещенных узлов и сделайте его текущим узлом. Переходите к этапу 6._ Я упомянул в вопросе, что мне нужно сделать это с _constant extra space_ –
Отвечает ли мой ответ на ваш вопрос? Если да, отметьте его как один. Если нет, скажите почему, и я постараюсь доработать его. – adaszko