如何用链接实现哈希表?

Sin*_*ind 6 ocaml hashtable chaining

这可能是一个愚蠢的问题但是,我不能在上帝的爱中找出我在链接哈希表后面的理论中缺少的东西.

这就是我的理解:

哈希表使用哈希将密钥与存储值的位置相关联.有时哈希将为不同的密钥产生相同的位置,即可能发生冲突.

在这种情况下,我们可以通过将具有相同位置的所有值存储到该位置的链接列表来实现链接.

我不明白的是:

当您输入密钥并且哈希函数产生链接的位置时,它如何确定该位置的链表中的哪个值属于该特定键,而不是碰撞中涉及的另一个键?

我意识到这是基本理论,但是如果有人能够在我的推理中指出错误或告诉我我缺少什么,我将非常感激.

rli*_*bby 4

简单的方法:维护一个“哈希表条目”的链表,这些条目是键/值对。到达存储桶后,根据存储桶中的所有键检查您的查询键。