Бинарное дерево поиска (Binary Search Tree, BST) — это особый вид бинарного дерева данных, в котором каждый узел содержит ключ (значение), и для каждого узла выполняется следующее свойство:
Это свойство позволяет эффективно осуществлять операции поиска, вставки и удаления элементов. В сбалансированном бинарном дереве поиска эти операции выполняются за время O(log n), где n — количество узлов в дереве. В худшем случае (вырожденное дерево) время выполнения может достигать O(n), превращая дерево в связанный список.
Пример узла:
javascript
Основные операции:
Бинарные деревья поиска используются для создания словарей, множеств и для эффективной сортировки данных (сортировка деревом). Для поддержания сбалансированности и гарантии логарифмического времени операций используются самобалансирующиеся варианты, такие как AVL-деревья или красно-черные деревья.