Мне сложно понять, как строятся деревья двоичного поиска. Требуется ли сортировка исходных данных, чтобы найти самый верхний корень?Понимание двоичного поиска Дерево построения
ответ
форма, что бинарное дерево поиска занимает зависит от двух вещей:
- Порядка, в которые вставляются элементы и
- Каких балансовые операции, если таковые имеются, то дерево делает во время установки.
Если у вас есть чисто двоичное дерево поиска без логики балансировки, то порядок, в который вставлены элементы, окажет сильное влияние на форму дерева. Например, возьмите значения 1, 2, 3, 4, 5, 6, 7. Если вы вставляете их в порядке 4, 2, 6, 1, 3, 5, 7, вы получите это дерево:
4
/ \
2 6
/\ /\
1 3 5 7
причина этого заключается в том, что мы проходим через следующую серию деревьев:
4
4
/
2
4
/ \
2 6
4
/ \
2 6
/
1
4
/ \
2 6
/\
1 3
4
/ \
2 6
/\ /
1 3 5
4
/ \
2 6
/\ /\
1 3 5 7
с другой стороны, если вставить значения в порядке 1, 2, 3, 4, 5, 6 , 7, вы получите это дерево:
1
\
2
\
3
\
4
\
5
\
6
\
7
Интересно, что вставка элементов в BST в отсортированном порядке ne от худших вещей, которые вы можете сделать для дерева, так как это делает дерево линейной структурой. Вы лучше выбирать случайную перестановку элементов для вставки, или (если все они известны заранее) сортируя их и используя следующий рекурсивный алгоритм на отсортированной последовательности:
- Если нет никаких элементов, вы сделали.
- В противном случае:
- Вставьте медиану в BST.
- Рекурсивно вставьте первую половину элементов в BST.
- Рекурсивно вставьте вторую половину элементов в BST.
Надеется, что это помогает!
- 1. Дерево двоичного поиска
- 2. Дерево двоичного поиска
- 3. java дерево двоичного поиска
- 4. Дерево двоичного поиска Сортировка
- 5. delete Дерево двоичного поиска
- 6. Сортировка по: Дерево двоичного поиска
- 7. Понимание двоичного поиска ошибка
- 8. Высота двоичного дерева поиска без его построения
- 9. Нахождение временной сложности построения двоичного дерева поиска
- 10. глубина двоичного поиска Дерево рекурсивно
- 11. Java дерево двоичного поиска delete
- 12. Python Dictionary Дерево двоичного поиска
- 13. Удалить узел Дерево двоичного поиска
- 14. Указатели и дерево двоичного поиска
- 15. построить уникальное дерево двоичного поиска
- 16. Treemap - Дерево двоичного поиска - Java
- 17. Двоичного дерево
- 18. Что такое действительное дерево двоичного поиска?
- 19. Java: минимальная глубина двоичного поиска Дерево рекурсивное
- 20. Вставляющий узел (Дерево двоичного поиска) C
- 21. Проверка, является ли дерево двоичного поиска вырожденным
- 22. C++ удалить все дерево двоичного поиска
- 23. Не удалось распечатать Дерево двоичного поиска
- 24. C# - Дерево двоичного поиска содержит/присутствует Метод
- 25. Почему код создает неправильное дерево двоичного поиска
- 26. Пишите в файл. (Дерево двоичного поиска)
- 27. преобразовать дерево двоичного поиска в списки
- 28. Как создать левое каноническое дерево двоичного поиска?
- 29. Дерево двоичного поиска PYTHON - Рекурсивное удаление
- 30. Дерево поиска с использованием двоичного дерева с использованием двоичного дерева
«Вставьте медиану в BST». Таким образом, чтобы иметь среднее значение, мне нужно было бы иметь свои линейные данные в порядке первой, хотя, так как 5,3,6,2,4,1 пришлось бы переупорядочить до 1,2,3,4,5 , 6, а затем 4 будет корнем? –
@ GeorgeL- Я не уверен, что понимаю ваш комментарий. Вы можете уточнить? – templatetypedef
Извините, не понимал, что попадание в игру отправляет комментарий. –