Я пытаюсь написать функцию, которая возвращает список худших индексов/индексов хэш-таблицы определенного размера. Она должна выглядеть следующим образом:Python Hash: функция определения самой длинной последовательности зондов
def worst_indices(size_of_hashtable, list_of_keys):
....
Где list_of_keys список ключей, которые были введены в хэш-таблицу на основе хэш-функции: Н (ключ) = размер ключа%.
Моя функция, однако, не должна выводить хеш-таблицу, ей просто нужно вывести индексы, которые потребуют большинство сдвигов/зондов, если вы хотите ввести в них другой ключ.
Например, следующий код
values = [25, 32, 88, 10, 35, 11]
worst = worst_indices(11, values)
print(worst)
должен производить выход:
[10]
В качестве другого примера, код:
values = [4, 9, 12, 3, 7, 26, 16, 20, 11]
worst = worst_indices(13, values)
print(worst)
должен производить выход:
[3, 7, 11]
Так что если вы должны добавить другое значение в хэш-таблицы, добавив значение в эти «наихудшие индексы», это приведет к тому, что самые смещающие права будут искажены для следующего открытого места. Любая помощь или советы относительно того, как это можно сделать, было бы удивительным. Спасибо.
Это звучит веселое задание. Но в текущем состоянии ваш вопрос слишком широк для SO. Вам нужно начать с него и опубликовать код. Но вот подсказка или две, чтобы вы начали: я уверен, что вам нужно создать хэш-таблицу и вставить в нее ключи, потому что какой-либо ключ (-ы) хуже всего зависит от порядка ввода ключа , Вы можете использовать простой список списков [key, value] для вашей хеш-таблицы. И вы можете сделать это аккуратно, поставив его в класс (если вы знаете, как делать классы), но это не является абсолютно необходимым, ИМО. –