Что такое хеш-таблица
Разбираем структуру, которая позволяет находить данные почти мгновенно.
Идея быстрого поиска
Хеш-таблица хранит пары «ключ — значение» так, чтобы находить их очень быстро. Секрет в том, что по ключу вычисляется «адрес» ячейки, где лежит значение. Не нужно перебирать всё подряд — вы сразу идёте в нужное место, как по номеру ящика.
Что такое хеш
Хеш — это число, которое получают из ключа по специальной функции. Одинаковый ключ всегда даёт одинаковый хеш, а значит и один и тот же адрес. Благодаря этому и поиск, и добавление, и удаление обычно выполняются очень быстро, почти независимо от размера таблицы.
Где вы её уже встречали
В Python хеш-таблица — это словарь. Когда вы достаёте значение по ключу, за кулисами работает именно она. Поэтому словарь так удобен для быстрых справок: имя → телефон, товар → цена, слово → перевод. Понимание устройства объясняет, почему словарь быстрый.
Частые вопросы
Почему иногда порядок в словаре кажется странным? Потому что элементы лежат по вычисленным адресам, а не по порядку добавления в старых версиях. В современном Python порядок вставки сохраняется.
Как закрепить работу со словарями? На маленьких примерах-справочниках. Базовую логику удобно нарабатывать в тренажёре Дрон Кодер.
Начать игру бесплатно