例如,'a'(鍵)和'b'(鍵)的散列都是指位置10,我使用'+1'方法來處理碰撞,所以'b'的位置現在是11哈希表碰撞,如何獲得正確的值?
因此,如果我嘗試獲取b(key),那麼散列函數返回10,以及如何告訴散列函數返回11。
例如,'a'(鍵)和'b'(鍵)的散列都是指位置10,我使用'+1'方法來處理碰撞,所以'b'的位置現在是11哈希表碰撞,如何獲得正確的值?
因此,如果我嘗試獲取b(key),那麼散列函數返回10,以及如何告訴散列函數返回11。
您需要將(10)處的鍵與您正在搜索的值進行比較,如果它們不相同,則轉到下一個位置(11),並重復此步驟。散列表通常要求可以測試存儲的值是否相等。
但是,這種哈希的味道有很多問題 - 你最好存儲一個列表表。
http://en.wikipedia.org/wiki/Linear_probing – Clash 2011-05-29 12:42:34