как реализовать BST заказовМой обхода?

голоса
0

На самом деле то , что я хочу знать, не так, как реализовать алгоритм обхода в заказе для BST , но реализовать его только с помощью вставки, удаления и алгоритмы обхода предварительных заказов на BST.
Можно предположить , что вам дают реализации для стандартных алгоритмов BST для вставки, удаления и предварительного заказ обхода.

Задан 18/10/2011 в 06:36
источник пользователем
На других языках...                            


2 ответов

голоса
0

Хммм ... Допустим , мы имеем + в корне и 1 в левом узле и 2 на правом узле. Предзаказ будет + 1 2и в порядке будет 1 + 2.. разница в том , что первый и второй были местами, так что если у вас есть вставки и удаления можно рекурсивно поменять значение каждого узла корня со значением левого узла , а затем с помощью предзаказ траверс дерево , которое будет возвращать вызовет заказовМои обход.

Я не уверен, если это путь, но я надеюсь, что это поможет.

Ответил 18/10/2011 в 06:46
источник пользователем

голоса
0

Я думаю, я нашел решение. :)

мы имеем обход, вставка и удаление методов предварительного заказа.

Предположим, что нам дано BST.

что мы делаем, мы предлагаем метод обхода предзаказа с данной BST. так предзаказ обход всегда идти в родительском узел первым, мы удалим и вставить каждый корень (потому что корень является первым родителем мы встречаемся) узел рекурсивно, пока левый юг дерево корня не равно нуль.

Теперь вы начинаете удалять корень, пока нет ни одного узла left.Put этих удаленных узлов в массиве или туда, куда вы хотите. Вы получите отсортированный набор узлов. (То есть узлы будут удалены в отсортированном Order.The маленьких первый и так далее ...)

Ответил 21/10/2011 в 07:54
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more