Пол десятилетия назад я сидел в классе структур данных, где профессор предлагал дополнительные кредиты, если кто-то мог пройти по дереву без использования рекурсии, стека, очереди и т. Д. (Или любых других подобных структур данных) и всего лишь нескольких указателей. Я придумал, как мне казалось, очевидный ответ на этот вопрос, который в конечном итоге был принят профессором. Я сидел в отдельном классе по математике с другим профессором в том же отделе - и он утверждал, что невозможно пройти по дереву без рекурсии, стека, очереди и т. Д., И что мое решение было неверным.
Так это возможно или невозможно? Почему или почему нет?
Редактировать: чтобы добавить некоторые пояснения, я реализовал это в двоичном дереве, которое имело три элемента - данные, хранящиеся в каждом узле и указатели на двух дочерних элементов. Мое решение может быть распространено на n-арные деревья с несколькими изменениями.
Мой учитель по структурам данных не накладывал никаких ограничений на изменение дерева, и позже я узнал, что его собственное решение состояло в том, чтобы использовать дочерние указатели, чтобы указывать назад дерево по пути вниз. Мой дискретный профессор математики сказал, что любая мутация дерева означает, что оно больше не является деревом в соответствии с математическим определением дерева, его определение также исключает любые указатели на родителей - что будет соответствовать случаю, когда я решил это выше.