在这种特殊情况下,关键mod TableSize是一个很好的哈希函数

时间:2014-11-10 20:15:26

标签: hash hashtable

如果用户正在设计哈希表并且知道所有键都是0到10,000之间的4的倍数并且均匀分布。以下哈希函数是否良好?

hash(key) = key mod TableSize

其中TableSize是一些素数。

我的直觉是这个功能存在很大的缺陷,因为实际上只有1/4的键发生。但是当我运行测试时,哈希值大致均匀分布。

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

如果键除了4的倍数,它们就足够了,它们实际上是随机的。 BTW为什么不在放入哈希表之前将每个键除以4(>> 2)?