Запишите нерекурсивный обход дерева двоичного поиска, используя постоянное пространство и время выполнения O (n)

Это не домашнее задание, это вопрос собеседования.

Уловка здесь в том, что алгоритм должно быть постоянное пространство. Я совершенно не понимаю, как это сделать без стека, я бы опубликовал то, что я написал, используя стек, но это все равно не актуально.

Вот что я пробовал: Я попытался сделать предварительный обход порядка, и я добрался до самого левого узла, но застрял там. Я не знаю, как выполнить "рекурсивное" резервное копирование без указателя стека / родителя.

Любая помощь будет принята с благодарностью.

(Я помечу его как Java, так как это то, что мне удобно, но это довольно языковой агностик, что очевидно.)

48
задан user183037 31 March 2011 в 07:19
поделиться