Що робить операція модуль (%) при хешуванні? Як вона пов'язана з індексами?
Операція модуль (%) при хешуванні використовується для того, щоб перетворити велике значення хешу на допустимий індекс масиву, де зберігаються дані хеш-таблиці.
Як це працює
- Хеш-функція повертає ціле число, іноді дуже велике.
- Таблиця має обмежений розмір
N(наприклад, 100 комірок). - Щоб "вписати" хеш у діапазон індексів
[0 ... N-1], обчислюють:
javascript
index = hash(key) % N- У результаті виходить індекс - позиція в масиві, куди буде поміщено елемент.
Приклад
javascript
hash("dog") = 123456
N = 10
index = 123456 % 10 = 6Отже, елемент з ключем "dog" потрапить у комірку №6.
Чому саме модуль
%дає рівномірний розподіл по діапазону індексів;- гарантує, що індекс ніколи не вийде за межі масиву.
Підсумок
Операція модуль зв'язує "абстрактний" хеш із конкретним місцем зберігання в таблиці: вона робить хеш реальним індексом масиву, де лежать дані.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.