哈希索引如何与数组大小相关?

时间:2014-02-18 20:38:34

标签: c arrays algorithm hash hashmap

我正在制作一个程序,使用单独的链接将文件中的字符串读入哈希表,我想使用djb2哈希算法。例如,当我哈希单词“welcome”时,我得到一个哈希索引7573091155873627.这是否意味着保存我的哈希表的数组需要这个巨大的?我真的希望读大约100个字左右。我只是想确保我可以将我的哈希表设置为容纳100个项目并仍然使用此算法。

1 个答案:

答案 0 :(得分:2)

当您将条目放入哈希表的数组中时,您选择的存储区为

hashvalue modulo size of the array 

Si具有极大的哈希值没有问题。相反,它们允许您使用任意大型数组,这允许您散列任意数量的项目。实际上,在标准实现中,当哈希数组变得太满时,数组的大小会增加。