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

2.3 KiB
Raw Blame History

#структураанных

!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))

Связанные темы:

Источники: