Встречается на собеседованиях • сегодня
Почему поиск в дереве происходит за логарифмическое время
Поиск в сбалансированном дереве (например, AVL или красно-черном) происходит за O(log n), потому что на каждом шаге алгоритм отсекает половину оставшихся элементов. Это возможно благодаря свойству бинарного дерева поиска (BST), где для каждого узла: левое поддерево содержит меньшие значения, правое — большие.
Пример для BST:
python
def search(root, key):
if root is None or root.val == key:
return root
if root.val < key:
return search(root.right, key)
return search(root.left, key)Нюансы:
- Дерево должно быть сбалансированным — иначе вырождается в O(n) для вырожденного случая (цепочки узлов)
- Логарифмическая сложность достигается только при равномерном распределении элементов
- Основание логарифма зависит от степени ветвления (для бинарного log₂n)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы