2011-05-29 65 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