- 博客(1)
- 收藏
- 关注
转载 hash函数为什么要选择对素数求余
常用的hash函数是选一个数m取模(余数),这个数在课本中推荐m是素数,但是经常见到选择m=2^n,因为对2^n求余数更快,并认为在key分布均匀的情况下,key%m也是在[0,m-1]区间均匀分布的。但实际上,key%m的分布同m是有关的。证明如下:key%m = key - x*m,即key减掉m的某个倍数x,剩下比m小的部分就是key除以m的余数。显然,x等于key/
2014-05-02 14:49:10
604
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人