Base/Knowledges/IT/Структуры данных/Бинарное дерево поиска (Binary Search Tree - BST).md
2026-02-23 19:52:05 +03:00

40 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#структураанных
![[Pasted image 20250115085437.png]]
> BST — это разновидность бинарного дерева, в которой все значения в левом поддереве меньше значения узла, а все значения в правом поддереве больше значения узла.
Как и в бинарном дереве, каждый узел имеет до двух дочерних узлов: левый
и правый. Но у этого дерева есть одно свойство, относящее его к BST: зна-
чение левого дочернего узла всегда меньше, чем значение узла, а значение
правого дочернего узла всегда больше.
Более того, все числа в поддереве левого дочернего узла меньше самого узла!
![[Pasted image 20250115085537.png]]
***
Оба дерева состоят из 7 узлов, но сильно различаются по производительности
![[Pasted image 20250115085610.png]]
Высота дерева для лучшего случая равна 2. Это означает, что к любому узлу
можно перейти от корневого узла максимум за 2 шага. Высота дерева для
худшего случая равна 6. Это означает, что к любому узлу можно перейти от
корневого узла максимум за 6 шагов.
Дерево для худшего случая имеет высоту $O(n)$, так что поиск будет выполняться за время $O(n)$
Дерево для лучшего случая имеет высоту $O(log(n))$, а поиск по нему займет время $O(log(n))$.
Если можно обеспечить высоту дерева в $O(log(n))$, то поиск по дереву будет выполняться за время $O(log(n))$
Связанные темы:
- [[Дерево (Tree)]]
- [[Бинарное дерево (Binary tree)]]
- [[Граф (Graph)]]
Источники:
- [[Адитья Бхаргава - Грокаем Алгоритмы]]