Page 1
Розробка та аналіз алгоритмів
10. Хеш-таблиці
• Визначення хеш-таблиць
• Метод ланцюгів
• Хеш-функції
• Відкрита адресація
(с) Олексій Молчановський, Prometheus.org.ua 1
Page 2
Пряма адресація
(с) Олексій Молчановський, Prometheus.org.ua 2
Page 3
Визначення хеш-таблиць
(с) Олексій Молчановський, Prometheus.org.ua 3
Page 4
Приклад
(с) Олексій Молчановський, Prometheus.org.ua 4
Page 5
Застосування хеш-таблиць
• Асоціативні масиви та словники в мовах програмування
• Таблиці символів в компіляторах та інтерпретаторах
• Реалізація структури даних множини
• Індекси в базах даних
• Деякі реалізації кеш-пам’яті – пам’яті з швидким доступом
(с) Олексій Молчановський, Prometheus.org.ua 5
Page 6
Уникнення колізій за допомогою ланцюгів
(с) Олексій Молчановський, Prometheus.org.ua 6
Page 7
Приклади хеш-функцій
(с) Олексій Молчановський, Prometheus.org.ua 7
Page 8
Приклади хеш-функцій
(с) Олексій Молчановський, Prometheus.org.ua 8
Page 9
Універсальне хешування
(с) Олексій Молчановський, Prometheus.org.ua 9
Page 10
Відкрита адресація
(с) Олексій Молчановський, Prometheus.org.ua 10
Page 11
Послідовності досліджень
(с) Олексій Молчановський, Prometheus.org.ua 11
Page 12
Аналіз відкритої адресації
(с) Олексій Молчановський, Prometheus.org.ua 12