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

В чем разница между хэш-таблицами и B-Tree

Хэш-таблицы и B-Tree — это разные структуры данных для хранения пар ключ-значение, но с разными характеристиками:

Хэш-таблицы:

  • Основаны на хэш-функции, которая преобразует ключ в индекс массива.
  • В среднем обеспечивают O(1) для вставки, удаления и поиска.
  • Не поддерживают упорядоченность ключей.
  • Могут иметь коллизии, которые решаются через цепочки или открытую адресацию.

B-Tree:

  • Сбалансированное дерево, где каждый узел может содержать множество ключей.
  • Обеспечивает O(log n) для операций поиска, вставки и удаления.
  • Поддерживает упорядоченность ключей, что полезно для диапазонных запросов.
  • Часто используется в базах данных и файловых системах.

Пример хэш-таблицы в Python:

python
hash_table = {}
hash_table["key"] = "value"  # O(1) в среднем

Пример B-Tree (используя blist):

python
from blist import sorteddict
b_tree = sorteddict()
b_tree["key"] = "value"  # O(log n)

Выбор зависит от задачи: хэш-таблицы быстрее для точечных запросов, B-Tree — для упорядоченных данных и диапазонных запросов.

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

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

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

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