- •2.2. Найпростіші методи побудови хеш-таблиць
- •3. Порядок виконання роботи
- •4. Завдання на лабораторну роботу
- •4.1. Завдання
- •4.2. Організація хеш-таблиці №1
- •4.2.1. Вибір хеш-функції.
- •4.2.2. Розв'язання колізій при хешуванні
- •Методом рехешування додаванням з функцією повторного хешування
- •Методом рехешування;
- •4.3. Організація хеш-таблиці №2
- •6. Контрольні завдання
6. Контрольні завдання
1. Побудувати хеш-таблицю (розмірністю m=8) для заданої послідовності:
kkkkk , cc, ssssss , ddd
Хеш-функція задається наступним чином: h(key)=(2*S)%m, де S-кількість букв у слові.
Розв’язання колізій при хешуванні здійснювати методом ланцюжків.
0
|
2. Запишіть через кому: - Скільки кластерів містить хеш-таблиця? - Який розмір найбільшого кластера хеш-таблиці? |
||||||||||||||||||||
3. Знайти найбільшу кількість порівнянь ключів при успішному пошуку в заданій хеш-таблиці, якщо хеш-функція має вигляд h(key)=key % 10 і колізії розв’язуються методом лінійного зондування з функцією повторного хешування h і (key) = ( h(key) + i ) % m . |
|||||||||||||||||||||
4. Побудувати хеш-таблицю (розмірністю m=13) для заданої послідовності: 48 , 43 , 26 , 44 , 15 Хеш-функція задається наступним чином: h(key) = key % (m-2). Розв’язання колізій при хешуванні здійснювати методом відкритої адресації. Функція повторного хешування має вигляд: h і (key) = ( h(key) + i ) % (m-2)
|
|||||||||||||||||||||
5. Висловіть свою думку стосовно покращення функції хешування, заданої в попередньому завданні.
|
|||||||||||||||||||||
