Разреженность хеш-таблицы означает наличие свободных ячеек между занятыми. Такой запас уменьшает число коллизий и проб при поиске, поэтому словарь расширяют до полного заполнения таблицы.
Что такое разрежение словаря и зачем оно нужно?
Разреженность хеш-таблицы означает наличие свободных ячеек между занятыми. Такой запас уменьшает число коллизий и проб при поиске, поэтому словарь расширяют до полного заполнения таблицы.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Разреженность хеш-таблицы означает наличие свободных ячеек между занятыми. Такой запас уменьшает число коллизий и проб при поиске, поэтому словарь расширяют до полного заполнения таблицы.
Плата за скорость — дополнительная память. В compact dict разреженная индексная часть отделена от более плотных записей элементов, поэтому пустые позиции обходятся дешевле. Не следует понимать «разрежение» как случайное удаление полезных ключей. Точная стратегия роста, коэффициент заполнения и очистка следов удалений зависят от реализации Python и не являются общим контрактом любого словаря.