Алгоритм бинарного дерева в компьютерной науке работает на основе двух основных правил: 2
- Каждый элемент может иметь максимум двух потомков. 2 При этом один из них располагается в левом поддереве, а второй — в правом. 2
- Значения, которые меньше узла, должны располагаться в его левом поддереве, а которые больше — в правом. 2
Соблюдение этих правил позволяет выполнять операции в бинарном дереве поиска быстро (в лучшем случае со скоростью O(log n), где n — количество узлов) и сортировать значения. 2
Некоторые операции с бинарным деревом поиска:
- Поиск узла. 2 Эта операция основана на сравнении искомого значения с текущим узлом и начинается с корня. 2 Когда значение, которое нужно найти, меньше текущего элемента, оно может быть только в левом поддереве, а в обратной ситуации — только в правом. 2 Операция поиска длится, пока не будет найден нужный элемент, либо пока не станет возможна констатация его отсутствия. 2
- Вставка узла. 2 Основной инструмент для этой операции — тоже сравнение значений. 2 Если значение нового элемента меньше текущего узла, то он должен быть вставлен в левое поддерево, в обратном случае — в правое. 2
В сбалансированном бинарном дереве поиска операции поиска, вставки и удаления выполняются за логарифмическое время (так как путь к любому листу от корня не более логарифма). 3