В чому ідея хешування?
Ідея хешування полягає в тому, щоб за допомогою спеціальної функції (хеш-функції) швидко перетворити довільні дані (наприклад, рядок чи об'єкт) на фіксоване число, хеш.
Це число використовується як адреса для зберігання або пошуку даних у структурі, наприклад, у хеш-таблиці.
Основна мета
Скоротити час пошуку: замість того щоб перебирати всі елементи, ми одразу обчислюємо, де саме має лежати потрібний об'єкт.
Ключові властивості хешування
- Швидкість обчислення - хеш має рахуватися швидко.
- Рівномірність розподілу - різні ключі мають давати різні (або хоча б рівномірно розподілені) хеші.
- Детермінованість - один і той самий ключ завжди дає один і той самий хеш.
Приклад
Якщо потрібно зберігати користувачів за ім'ям:
javascript
hash("Alice") → 42
hash("Bob") → 17
hash("Maria") → 93Кожне ім'я одразу потрапляє у "свою" комірку таблиці.
Тобто хешування перетворює пошук на обчислення: замість тривалого порівняння всіх елементів ми просто обчислюємо число і йдемо за адресою.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.