Изменения

Перейти к: навигация, поиск

Хеширование кукушки

6 байт добавлено, 19:53, 6 июня 2012
Алгоритм
'''Add''' — добавляет элемент с ключом <tex>x</tex> в хэш-таблицу
# Если одна из ячеек с индексами <tex>h_1(x)</tex> или <tex>h_2(x)</tex> свободна, кладем в нее элемент. Помечаем ячейку, в которую только что добавили элемент, как занятую.Проверяем, если хэш-таблица заполнена увеличиваем её размер.
# Иначе произвольно выбираем одну из этих ячеек, запоминаем элемент, который там находится, помещаем туда новый.
# Смотрим в ячейку, на которую указывает другая хеш-функция от элемента, который запомнили, если она свободна, помещаем его в нее. Переходим к шагу 7.
# Если не зациклились, переходим к шагу 3.
# Иначе выбираем 2 новые хеш-функции(из [[Универсальное семейство хеш-функций | универсального семейства хэш-функций]]) и перехешируем все добавленные элементы.
# Помечаем ячейку, в которую только что добавили элемент, как занятую.
# Проверяем, если хэш-таблица заполнена увеличиваем её размер.
Анонимный участник

Навигация