Кто-нибудь знает, как сделать алгоритм, который преобразует дерево двоичного поиска в дерево AVL, и да преобразует его, а не создает другое дерево (так что это будет сделано только с помощью поворота), а не с технологией DSW ... и в C. Сложная часть здесь состоит в том, что существует множество случаев, поскольку двоичное дерево поиска может быть несбалансированным различными способами и существует 4 типа вращений.Двоичное дерево поиска? Алгоритм
-4
A
ответ
1
Я считаю, что техника DSW делает все на месте (без распределения памяти), если это то, что вы ищете. В противном случае вы можете запускать алгоритм исправления из AVL постоянно, пока дерево больше не изменится? Это метод, используемый во множестве алгоритмов, которые могут применяться здесь.
Смежные вопросы
- 1. Двоичное дерево/двоичное дерево поиска
- 2. Двоичное дерево Алгоритм последовательности
- 3. Двоичное дерево поиска поиска:
- 4. Двоичное дерево поиска поиска
- 5. Двоичное дерево в двоичное дерево поиска (BST)
- 6. Двоичное дерево: алгоритм вставки узла
- 7. Двоичное дерево поиска - поиск области
- 8. Двоичное дерево поиска?
- 9. Двоичное дерево поиска - отсортировано?
- 10. Двоичное дерево поиска строк
- 11. Двоичное дерево поиска
- 12. Двоичное дерево поиска - вставка
- 13. Двоичное дерево поиска toString
- 14. C++ двоичное дерево поиска
- 15. двоичное дерево поиска bst
- 16. Двоичное дерево поиска, высота
- 17. Двоичное дерево поиска: Вставка
- 18. Двоичное дерево поиска C++
- 19. python двоичное дерево поиска
- 20. Двоичное дерево поиска Пояснение
- 21. Сбалансированное двоичное дерево поиска
- 22. Двоичное дерево поиска слева.
- 23. Почему двоичное дерево поиска?
- 24. Двоичное дерево поиска delete
- 25. Двоичное дерево поиска Удалить
- 26. Двоичное дерево поиска - PrintInOrder();
- 27. Двоичное дерево поиска C++
- 28. Двоичное дерево поиска - Java
- 29. Двоичное дерево поиска Haskell
- 30. Двоичное дерево поиска - Вставить
После выполнения домашней работы, должен ли я гладить вашего мастера рубашки? –
Ну, так как вы используете C, вы можете сбросить дерево, оставив только свой корень и повторно использовать его в качестве результата вместо того, чтобы создавать новый указатель на новое дерево. Возможное решение состоит в том, чтобы временно сохранить все значения дерева (используя любой способ), очистить дерево, а затем добавить элементы, используя любой метод автоматической балансировки, который вы хотите. На самом деле это похоже на DSW. :) –
@androiddeveloper true –