Back to questions
Баланс-Платформа
Junior — Middle
50
Объясните концепцию бинарного дерева поиска и его основные свойства.
Companies where asked
Answer from AI
sobes.tech AI
Бинарное дерево поиска (Binary Search Tree, BST) — это структура данных, где каждый узел содержит ключ и два поддерева: левое и правое. Основные свойства:
- Для любого узла все ключи в левом поддереве меньше ключа этого узла.
- Все ключи в правом поддереве больше ключа узла.
- Поддеревья также являются бинарными деревьями поиска.
Это позволяет эффективно выполнять операции поиска, вставки и удаления за время, пропорциональное высоте дерева (в среднем — O(log n)).
Пример на Python:
class Node:
def __init__(self, key):
self.key = key
self.left = None
self.right = None
class BST:
def __init__(self):
self.root = None
def insert(self, key):
if not self.root:
self.root = Node(key)
return
current = self.root
while True:
if key < current.key:
if current.left:
current = current.left
else:
current.left = Node(key)
break
else:
if current.right:
current = current.right
else:
current.right = Node(key)
break