Встречается на собеседованиях • сегодня

Какое дерево лежит в основе древовидных индексов

В основе древовидных индексов (например, в базах данных) чаще всего лежит B-дерево (B-tree) или его вариации (B+tree, B*tree).

Почему B-дерево?

  • Сбалансированность: гарантирует одинаковую длину пути до любого узла.
  • Оптимизация для дисковых операций: узлы хранят много ключей, уменьшая количество I/O.
  • Поддержка диапазонных запросов: эффективный поиск по диапазону значений.

Пример с B+tree (часто используется в индексах СУБД):

python
class BPlusTreeNode:
    def __init__(self, is_leaf=False):
        self.keys = []
        self.children = []
        self.is_leaf = is_leaf
        self.next_leaf = None  # Связь для листьевых узлов (B+tree)

Ключевые отличия B+tree от B-tree:

  • Все данные хранятся только в листьях.
  • Листья связаны в односвязный список для быстрого диапазонного сканирования.

Альтернативы: Hash-индексы (точечные запросы) или LSM-деревья (оптимизация для записи).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы