Как найти последовательность ключей?

Как бы я решил этот вопрос? Я как-то запутался в том, как начать. Ключи 34, 25, 79, 56, 6 нужно вставить в хеш-таблицу длиной 11, где коллизии будут разрешаться открытой адресацией. Хеш-функция имеет вид h(k,i) = (k mod11 + i(1+k mod10))mod11 a. Рассчитайте последовательность проб каждого из указанных ключей.

1 ответ

Последовательность исследования будет: 1,3,2,8,6. Чтобы найти это, вы должны сначала положить числа в таблицу, используя уравнение. Каждый раз, когда происходит коллизия (каждый раз, когда вы пытаетесь ввести число в таблицу, когда число уже есть), вы увеличиваете i (i начинается с 0).

Например, первое число 34 вставляется как h (36,0) = (36mod11 + 0 (1 + 36mod10))mod11, что равно 1. Продолжайте делать это для всех клавиш.

Хеш-таблица:
0:
1: 34
2: 79
3: 25
4:
5:
6: 6
7:
8: 56
9:
10:

Таким образом, для последовательности тестов вы должны просто записать в порядке ключей, какое число они попадают под хэш-таблицу. Дайте мне знать, если это поможет или мне нужно внести какие-либо изменения.

Другие вопросы по тегам