У меня есть число от 1 до 31, и мне нужно создать двоичное дерево поиска с этими числами с наименьшей глубиной. Я думал о разделении 31/2 и создании моего корня. После этого разделение 16/2 и вставка 8 следующего, но это, похоже, не работает. Есть ли алгоритм, чтобы знать, в каком порядке вставлять числа, чтобы дерево могло иметь наименьшую глубину?Создание двоичного дерева поиска с наименьшей глубиной
2
A
ответ
3
Если у вас есть номера 1-31, 31 номера, вы хотите, чтобы 15 номеров слева от корня и 15 номеров справа.
Итак, корень 16 (что не 31/2, а 31/2 + 1).
Повторяя ту же процедуру, левое поддерево имеет 15 элементов, поэтому вам нужно семь чисел с каждой стороны этого поддерева.
Итак, корень левого поддерева равен 8 (это 15/2 + 1, здесь есть шаблон).
Аналогичный расчет дает корень правого поддерева.
И так далее.
Смежные вопросы
- 1. создание двоичного дерева поиска
- 2. Создание дерева двоичного поиска
- 3. Глубина дерева двоичного поиска
- 4. Создание doubleTree() двоичного дерева поиска?
- 5. Создание простого двоичного дерева поиска
- 6. Создание сбалансированного дерева двоичного поиска
- 7. Создание двоичного дерева двоичного поиска в Java
- 8. Создание дерева AVL из дерева двоичного поиска
- 9. Создание двоичного дерева поиска с лучшей сложностью
- 10. Создание двоичного дерева поиска вызывает исключение
- 11. создание двоичного дерева поиска, не обновляющего указатель
- 12. Создание нового узла для двоичного дерева поиска
- 13. Удаление двоичного дерева дерева поиска
- 14. Создание двоичного дерева поиска для кода Морзе
- 15. Вывод двоичного дерева дерева поиска
- 16. Дерево поиска с использованием двоичного дерева с использованием двоичного дерева
- 17. Сложность поиска двоичного дерева
- 18. Вероятность двоичного дерева поиска
- 19. Алгоритм поиска двоичного дерева
- 20. Изучение дерева двоичного поиска
- 21. Прохождение двоичного дерева поиска
- 22. Изменение двоичного дерева поиска
- 23. Очистка дерева двоичного поиска
- 24. Балансировка двоичного дерева поиска
- 25. Вращение дерева двоичного поиска
- 26. Вставка двоичного дерева поиска
- 27. индексация двоичного дерева поиска
- 28. Схема двоичного поиска дерева
- 29. Реализация двоичного дерева поиска
- 30. поиск двоичного дерева поиска
Существуют алгоритмы, позволяющие балансировку деревьев, которые подходят для этого лучше. Таким образом, порядок вставки не имеет значения, но дерево минимально. [AVL] (https://en.wikipedia.org/wiki/AVL_tree) близок, деревья сокращения внутреннего пути еще лучше (гарантируют минимум), но могут занять немного больше времени. – Obicere
В основном не имеет значения: 31/2 должен дать 15 для корня, а не 16. –