为(字符串)哈希函数选择乘数
时间:2020-03-05 18:40:52 来源:igfitidea点击:
我们对选择在(乘法)哈希函数中使用的乘法器有任何建议/规则。该函数正在计算字符串的哈希值。
解决方案
回答
从历史上看,33似乎是一个受欢迎的选择,并且它通常可以很好地工作。没有人知道为什么。欲了解更多详情,请看这里
回答
我们想使用相对于集合大小而言相对重要的东西。这样,当我们循环时,我们将不会得到刚尝试过的相同数字。
回答
最近,我与一位同事就哈希函数进行了有趣的讨论。我们的结论如下:
如果与标准语言中的默认实现相比,如果确实需要编写一个良好的散列函数以最大程度地减少冲突,则需要具有较高的数学学位。
如果我们正在编写自定义哈希函数可以显着改善应用程序性能的应用程序,那么我们就是Google,并且有很多数学博士可以从事这项工作。
抱歉,不能直接回答问题,但是最重要的是,实际上不需要为String编写我们自己的哈希函数。我们正在使用哪种语言?我以为有一种简单的方法可以计算"足够好"的哈希码。