0

我正在尝试编写一个简单的整数哈希表类。我希望它是动态的,因为当它充满时,它的大小会增加一倍。我似乎找不到可以正常工作的散列函数。我已经尝试使用以下函数进行双重哈希(但它不起作用): h(k)=(x%7 +1+ k*(x%5))%(Table_Size)

任何我想念的好东西都会起作用吗?

4

1 回答 1

0

对于简单的整数,不要散列数字本身(这样做不会生成任何好的新属性),而是使用素数作为散列表的大小(这将为您的条目提供良好的均匀分布).. 通常,使用素数作为哈希表大小是一种很好的做法,无论您使用什么以及如何进行哈希处理。

查看

http://planetmath.org/GoodHashTablePrimes.html

随着桌子的增长,可以使用合适的尺寸列表。

于 2013-01-09T19:45:02.640 回答