Открытое и закрытое хеширование

Материал из Викиконспекты
Версия от 23:08, 15 мая 2011; Korobochka (обсуждение | вклад) (Добавлена ссылка на "Поиск свободного места при закрытом хешировании")
Перейти к: навигация, поиск

Есть разные методы борьбы с коллизиями. Рассмотрим два из них.

Открытое хеширование

Открытое хеширование (метод цепочек) — простейший метод борьбы с коллизиями. При использовании этого метода мы объединяем все элементы, хешированные в одну и ту же ячейку, в связный список. Ячейка [math]j[/math] содержит указатель на заголовок списка всех элементов, хэш-значение ключа которых равно [math]j[/math]; если таких элементов нет, ячейка содержит значение [math]nil[/math]. Вставляем элемент в заголовок списка. Время, необходимое для вставки в наихудшем случае равно [math]O(1)[/math]. При использовании двусвязных списков удаление также может быть выполено за [math]O(1)[/math]. (доказательство см. Т.Корман, второе издание, стр. 288)

Закрытое хеширование

Поиск свободного места при закрытом хешировании