Hash Table Query - PullRequest
       1

Hash Table Query

0 голосов
/ 20 января 2012

Может кто-нибудь объяснить

Учитывая массив хеш-таблиц размером N = 11 и использование хеш-функции - ч (х) = 3 х + 7 мод N

Вместе с линейным зондированием следующая последовательность операций выполняется:

вставка 5, вставка 15, вставка 4, вставка 8, вставка 7, вставка 12

Каково окончательное состояние хеш-таблицы?


По моей логике
h (5) = (3 * 5) + (7 mod 11) = 15 + 7 = 22 * ​​1020 *, поэтому поместите в таблицу [0]
h (15) = (3 * 15) + (7 mod 11) = 45 + 7 = 52 , поэтому поместите в массив [0] .. нельзя, чтобы поместить в таблицу [1]
и т.д.

Но, видимо, мой метод неверен. - например, h (15) мест 15 в таблице [8]
Что я не смог объяснить?

EDIT:

Забыл мод 11 ответ! Простая ошибка.
h (5) = ((3 * 5) + 7) mod 11 = 15 + 7 = 22 -> 22 mod 11 = 0 , поэтому поместите в таблицу [0]
h (15) = ((3 * 15) + 7) mod 11 = 45 + 7 = 52 -> 52 mod 11 = 8 , поэтому поместите в массив [8]

1 Ответ

2 голосов
/ 20 января 2012

Я думаю, что ваша хеш-функция должна быть (3x + 7) mod N, а не 3x + (7 mod N).

...