C++-哈希表关于哈希函数的选择

发布于 2016-11-21 16:35:27 字数 68 浏览 1187 评论 2

最近作做一个小程序,使用了哈希表,但是发现我的哈希函数选择不好,影响了效率,请问各位高手对于哈希函数的选择有什么好的建议?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泛泛之交 2017-04-26 05:25:40

有一种不发生冲突的Hash函数,名字叫“完美哈希函数”(Perfect Hash Function,简称PHF)
还有个小伙伴,叫做“最小完美哈希函数”(Minimal Perfect Hash Function,简称MPHF)

有人开发了专门的工具,用于生成MPHF,不过,PHF或MPHF是针对静态集合的。也就是,在使用PHF或MPHF时,所有的 KEY 值是事先已知并且固定的。

生成PHF的工具请参考这里

清晨说ぺ晚安 2016-12-22 18:33:31

这是Java中对于字符串的Hash值计算的算法,仅供参考:

s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]

这个算法还是能够产生比较有效的Hash值的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文