Что такое хэш-таблица, хэш, хэш-функция, хэширование?
Хэш-таблица — структура данных, которая хранит элементы в массиве по индексам, вычисленным из ключей с помощью хэш-функции. Она обеспечивает быстрый доступ к данным в среднем за O(1).
1. Хэш (hash)
Числовое значение фиксированной длины, получаемое из объекта (например, строки, числа) с помощью хэш-функции. В Python:
hash("abc") # -> например, 1234567892. Хэш-функция (hash function)
Алгоритм, который преобразует объект в хэш. Требования:
Быстро вычисляется.
Для одинаковых данных даёт одинаковый результат.
Разные данные желательно дают разные хэши (минимум коллизий).
3. Хэширование (hashing)
Процесс получения хэша из объекта и использования его для быстрого поиска или вставки в структуру данных.
4. Как работает хэш-таблица
Ключ → хэш-функция → хэш.
Хэш модулем размера массива → индекс.
Элемент записывается в соответствующую ячейку.
При коллизии (один индекс для разных ключей) используется, например, открытая адресация или цепочки.
Пример использования хэша в хэш-таблице:
Этот код представляет простую реализацию хэш-таблицы с использованием хэш-функции и разрешения коллизий методом цепочек.
Last updated
Was this helpful?