2011-05-29 87 views
1

例如,'a'(鍵)和'b'(鍵)的散列都是指位置10,我使用'+1'方法來處理碰撞,所以'b'的位置現在是11哈希表碰撞,如何獲得正確的值?

因此,如果我嘗試獲取b(key),那麼散列函數返回10,以及如何告訴散列函數返回11。

+2

http://en.wikipedia.org/wiki/Linear_probing – Clash 2011-05-29 12:42:34

回答

1

您需要將(10)處的鍵與您正在搜索的值進行比較,如果它們不相同,則轉到下一個位置(11),並重復此步驟。散列表通常要求可以測試存儲的值是否相等。

但是,這種哈希的味道有很多問題 - 你最好存儲一個列表表。

2

您必須檢查存儲的密鑰並驗證它是否匹配。否則「使用'+1'方法」並重試。

+0

我明白了,謝謝你的回答。 – user469652 2011-05-29 12:44:30