【发布时间】:2010-12-02 02:49:51
【问题描述】:
我知道在异或之前乘以一个大数应该有助于分布不均的操作数,但为什么乘数应该是素数?
相关:
Why should hash functions use a prime number modulus?关闭,但不是完全重复:
Why does Java’s hashCode() in String use 31 as a multiplier?
【问题讨论】:
-
我在这里并没有真正的答案(我诚实的答案是“因为 Josh Bloch 这么说!”)但eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx 读起来很有趣。
-
为什么关闭?因子和模数显然不是一回事。
-
我同意,我对重复问题线程或这个问题的答案不满意。这可能只是因为我还不明白答案。如果有人能提供进一步的澄清,将不胜感激。
-
我也没有看到一个很好的理由来乘以素数。我认为没有。