我想寫一個函數,返回一個特定大小的哈希表最差的索引/索引列表。它應該像:Python哈希:函數來確定最長的探測序列
def worst_indices(size_of_hashtable, list_of_keys):
....
哪裏list_of_keys是訂立基於哈希函數的哈希表鍵列表:H(鍵)=鍵%大小。
但是我的函數並不需要輸出哈希表,只需要輸出需要最多移位/探針的索引,如果你想輸入另一個關鍵字。
例如,下面的代碼
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]列表列表。你可以把它整理成一個整體(如果你知道如何做課程),但這不是必須的,IMO。 –