我通過一些老試卷的工作和整個下面傳來:哈希表大小調整,線性探測和複雜性
展示出一種封閉的地址哈希算法使用 數據是如何工作的設置
{4, 2, 12, 3, 9, 11, 7, 8, 13, 18}
作爲輸入例子。假設數組的lenght最初7.你應該證明:
我。如何構建哈希表,一步一步地進行。如何在O(1)時間內實現對散列表的搜索。現在
,因爲該陣列被初始設置爲7,最大的散列函數我可以使用是n mod 7
,因爲有將被插入比陣列的大小以上的元素,該陣列必須被調整大小。
我假設散列函數在調整大小後保持不變?
關於第二部分,如果多個元素哈希到相同的值,如何實現O(1)
搜索?當然,我需要依次通過數組中的聚類元素?
這個假設是否正確?
但不假設我可以直接到達每個元素?如果我正在使用線性探測,並且有相同哈希代碼的長鏈元素,這可能等同於O(n)? – 2013-05-07 16:02:22
開放尋址,找到一個空閒的時隙,最糟糕的情況是會通過哈希表。沒有通過你的元素列表。 – Kent 2013-05-07 16:25:45