关于哈希函数的问题,在线等 急求

为什么用1024、1000等较小的整数的幂作为模数构造hash函数效果较差 在线等啊

看是不是冲突碰撞很多导致的

http://pengranxiang.iteye.com/blog/543893

好好看看这个文章,无非是要充分利用空间存储数据,同时还要保证冲突次数较小

道理很简单,因为虽然整数的表示范围是0~42亿,但是真正在实际使用中,那些几千、几百的整数才是最常用的。所以用求余数作为hash算法,那么所有的整数都会堆在一起。我们希望hash函数的值尽量均匀分布,这样才能达到最大的收益。
一般来说,我们可以对求余做一个稍微的变化,比如说线性同余算法,就可以让hash分布非常均匀。