Изменения

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

Разрешение коллизий

55 байт убрано, 23:51, 11 июня 2012
Нет описания правки
== Стратегии поиска ==
''' Последовательный поиск '''
При попытке добавить элемент в занятую ячейку <tex>i</tex> начинаем последовательно просматривать ячейки <tex>i+1, i+2, i+3</tex> и так далее, пока не найдём свободную ячейку. В неё и запишем элемент.
[[Файл:hashtables3.png|380px|Квадратичный поиск.]]
 
== Возможные проблемы ==
 
При поиске элемента может получится так, что мы дойдём до конца таблицы. Обычно поиск продолжается, начиная с другого конца. Однако, если мы придём в ту ячейку, откуда начинался поиск, то добавить элемент в текущую таблицу будет невозможно и необходимо провести операцию перехеширования.
== Проверка наличия элемента в таблице==
Проверка осуществляется аналогично добавлению: мы проверяем ячейку <tex>i</tex> и другие, в соответствии с выбранной стратегией, пока не найдём искомый элемент или свободную ячейку.
При поиске элемента может получится так, что мы дойдём до конца таблицы. Обычно поиск продолжается, начиная с другого конца. Однако, если мы придём в ту ячейку, откуда начинался поиск, то добавить элемент в текущую таблицу будет невозможно и необходимо провести операцию перехеширования. == Проблемы закрытого хеширования данных стратегий ==
Проблем две - крайне нетривиальное удаление элемента из таблицы и образование кластеров.
Анонимный участник

Навигация