我正在实现一个没有删除的哈希表。但是,它会有很多检查,看看是否包含一个密钥,许多检查都没有找到。我原本打算采用某种形式的开放式寻址,因为我认为开放式寻址比单独链接要快。然后我发现在开放式寻址中的发现必须检查每个元素以确定某些东西不存在。它是否正确?如果是这样的话,在您经常需要检查成员资格的一般情况下,认为单独的链接会更快是否正确?
谢谢!
答案 0 :(得分:1)
如果您的哈希表会增长,即使是适度增长,您也可以使用第二个哈希来解决冲突。现在您的选择Open addressing Vs Chaining可以在第二个子表上完成。您必须确保两个哈希值都尽可能少的冲突。
编辑:
是的,这只是链接的另一个版本,在DB中使用了一些更好的变体。现在它是否相关取决于您将来的系统。只是凭直觉我同意开放式寻址将达到极限。你应该寻找different types of chaining