什么整数散列函数适合接受整数散列键?

什么整数散列函数适合接受整数散列键?

什么整数散列函数适合接受整数散列键?



森林海
浏览 907回答 3
3回答

莫回无

Knuth的乘法方法:hash(i)=i*2654435761 mod 2^32通常,您应该选择一个乘以您的散列大小(2^32在示例中)的乘数,并且没有与之相关的公因子。这样,哈希函数统一覆盖了所有哈希空间。编辑:这个哈希函数的最大缺点是它保留了可分性,所以如果你的整数都可以被2或4整除(这并不罕见),它们的哈希也是如此。这是哈希表中的一个问题 - 您最终只能使用1/2或1/4的桶。

慕斯王

取决于数据的分布方式。对于一个简单的计数器,最简单的功能f(i) = i会很好(我怀疑是最佳的,但我无法证明)。
打开App,查看更多内容
随时随地看视频慕课网APP