Встречается на собеседованиях • сегодня
Как разрешаются коллизии в хеш-таблице в Python
В Python хеш-таблицы реализованы через словари (dict). Коллизии разрешаются методом открытой адресации с использованием алгоритма "псевдослучайного зондирования".
Основные моменты:
- При коллизии Python ищет следующую свободную ячейку в таблице по формуле:
index = (5 * index + 1 + perturb) % table_size
Гдеperturb— это сдвиг для уменьшения кластеризации.
- При заполнении таблицы на 2/3 происходит ресайз (увеличение размера).
Пример:
python
d = {}
d['key1'] = 1 # hash('key1') % table_size → index1
d['key2'] = 2 # Если index1 занят, вычисляется новый индексЭто обеспечивает амортизированную O(1) сложность для вставки и поиска.

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