微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有比 DJB2 冲突更少的哈希算法?

如何解决有没有比 DJB2 冲突更少的哈希算法?

我正在使用 djb 算法的异或版本来散列名称。在开始之前,我做了一些快速的谷歌搜索,发现这是一种用于这种情况的非常常见的算法。在测试我的代码时,我最终发现了大量冲突。

我针对算法运行了几个不同的名称列表,我发现根据名称列表,在低端有 50% 的冲突和在高端有 96.9% 的名称冲突。在对结果散列执行模运算以使其适合表后,确实会发生这些冲突。当涉及到非加密散列算法时,这是课程的标准吗?或者我做错了什么/选择了错误的散列算法。

编辑: 我正在使用带有线性探测的开放寻址方案。我使用质数作为我的表大小,并通过选择比先前大小大一倍的最小质数来调整表的大小。当表格填满 60% 时,我会调整表格的大小。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。