我在这个网站上调查了很多关于是否应该使用素数或2的幂为mod的问题。谢天谢地,我理解了这个想法
但是,我的情况有所不同。在调整哈希表的大小时,我找不到任何处理正确数组大小的问题。
我正在实现一个哈希表,随着存储密钥数量的变化,可能需要增长和缩小。我有一个哈希码函数,可以将键统一地哈希到正32位整数。表本身将使用一个近似大小为M的较小数组。因此,以下哪一项是哈希函数的最佳选择,该函数使哈希码产生0到P-1之间的值,其中P接近于M?
a)模P,其中P是最接近M
的素数b)模P,其中P是最接近M
的2的幂c)要么
d)都没有
我一直试图弄清楚这几个小时,但没有运气。