2013-04-04 90 views
2

我試圖從頭開始構建一個簡單的哈希表。哈希表我目前使用了一個鏈表。哈希函數將密鑰對對象的哈希值取模爲數組索引的大小。這一切都很好,但我想知道是否可以通過使用數組列表動態擴展我的數組(一旦它開始填滿)(告訴我爲什麼這不是一個好主意,如果你這麼認爲)。很顯然,散列函數會被破壞,因爲我們使用數組長度來查找索引。什麼是一個很好的哈希函數來使用它,這將允許我的鏈表的數組擴展,同時不影響哈希函數的完整性?使用哈希表的數組列表

+3

一旦您達到某個填充因子並重新哈希所有元素,您通常會將底層數組的大小加倍。 – BrokenGlass 2013-04-04 14:13:51

+0

正是我在找什麼,謝謝! – 2013-04-04 14:19:22

回答

3

如果我正確理解你的問題,你將不得不在擴展桶數組後重新哈希所有元素。可以通過遍歷舊哈希表的內容並將它們插入新擴展的哈希表中來完成。

+0

很棒,正是我一直在尋找的。 – 2013-04-04 14:19:05