Детали двойного хеширования

В настоящее время я готовлюсь к выпускному экзамену для своего класса алгоритмов, и я столкнулся с несколькими вопросами в практическом тесте, в которых я не был уверен. Любая помощь будет оценена по достоинству!

Что из нижеперечисленного неверно относительно последовательностей тестов для реализации двойного хеширования?

A. Два ключа могут иметь одинаковую последовательность зондирования

B. Все слоты в хеш-таблице отображаются в каждой последовательности зондов.

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

D. Последовательность зондирования для ключа не может измениться

Я считаю, что A, B и D верны, поэтому я думаю, что C - правильный ответ.


Наихудший случай двойного хэширования:

A. Все сохраненные ключи имеют одинаковый h1.

B. Все сохраненные ключи имеют одинаковый h2.

C. Все сохраненные ключи имеют одинаковые h1 и h2.

D. Вставка каждого ключа требует проверки слотов для всех ранее вставленных ключей.

Я считаю, что этот ответ будет C. Я не совсем уверен в этом, поэтому было бы неплохо дать объяснение.


person user1013032    schedule 10.12.2011    source источник


Ответы (1)


  1. Вы говорите, что «A, B и D верны», а считаете, что C ложно. В то время как C сформулирован неясно, это кажется правдой, потому что последовательность зондирования состоит из пробы ряда ключей. Посмотрите на B более внимательно и подумайте, что произойдет, если h2(v) является делителем m, размера таблицы.
  2. C и D очень похожи, так как C вызовет D. Однако могут быть и другие случаи, вызывающие D, так что, вероятно, это и есть ответ.
person James Waldby - jwpat7    schedule 10.12.2011