В хэш-таблице, почему бы не обновить h (x) (= h0 (x), а использовать h1 (x), h2 (x) ..? - PullRequest
1 голос
/ 01 июня 2019

В хеш-таблице, скажем, что H0 (x) = x mod m И если мы говорим, что, чтобы избежать столкновения, мы используем линейное зондирование Привет (x) = (x + i) мод m

Но какова бы ни была хеш-функция, проводим ли мы линейное или квадратичное зондирование, при поиске ключа он должен пройти все столкновения, верно?

Итак, идея такова: Как насчет обновления самой хеш-функции h (x) как Если элемент a после прохождения всех столкновений был помещен в (H0 (a) + La) mod m Тогда как насчет обновления самой хеш-функции как H (x) = h0 (x) + La * f (x-a) в то время как f (x-a) равен 1, только если x = a? Затем, когда в дальнейшем ищем a, нам не нужно проходить все столкновения, а просто найти элемент прямо сейчас.? В чем проблема с этой идеей?

...