Skip to main content

В чому ідея хешування?

Ідея хешування полягає в тому, щоб за допомогою спеціальної функції (хеш-функції) швидко перетворити довільні дані (наприклад, рядок чи об'єкт) на фіксоване число, хеш.

Це число використовується як адреса для зберігання або пошуку даних у структурі, наприклад, у хеш-таблиці.

Основна мета

Скоротити час пошуку: замість того щоб перебирати всі елементи, ми одразу обчислюємо, де саме має лежати потрібний об'єкт.

Ключові властивості хешування

  1. Швидкість обчислення - хеш має рахуватися швидко.
  2. Рівномірність розподілу - різні ключі мають давати різні (або хоча б рівномірно розподілені) хеші.
  3. Детермінованість - один і той самий ключ завжди дає один і той самий хеш.

Приклад

Якщо потрібно зберігати користувачів за ім'ям:

javascript
hash("Alice")42 hash("Bob")17 hash("Maria")93

Кожне ім'я одразу потрапляє у "свою" комірку таблиці.

Тобто хешування перетворює пошук на обчислення: замість тривалого порівняння всіх елементів ми просто обчислюємо число і йдемо за адресою.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.