Что такое хэш-таблица, хэш, хэш-функция, хэширование?

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


1. Хэш (hash)

Числовое значение фиксированной длины, получаемое из объекта (например, строки, числа) с помощью хэш-функции. В Python:

hash("abc")  # -> например, 123456789

2. Хэш-функция (hash function)

Алгоритм, который преобразует объект в хэш. Требования:

  • Быстро вычисляется.

  • Для одинаковых данных даёт одинаковый результат.

  • Разные данные желательно дают разные хэши (минимум коллизий).


3. Хэширование (hashing)

Процесс получения хэша из объекта и использования его для быстрого поиска или вставки в структуру данных.


4. Как работает хэш-таблица

  1. Ключ → хэш-функция → хэш.

  2. Хэш модулем размера массива → индекс.

  3. Элемент записывается в соответствующую ячейку.

  4. При коллизии (один индекс для разных ключей) используется, например, открытая адресация или цепочки.


Пример использования хэша в хэш-таблице:

Этот код представляет простую реализацию хэш-таблицы с использованием хэш-функции и разрешения коллизий методом цепочек.

Last updated

Was this helpful?