Yah*_*din 6 hashmap data-structures
我正在创建自己的实现来散列表用于教育目的.
增加哈希表大小的最佳方法是什么?
我目前加倍哈希数组大小.
我正在使用的散列函数是:key mod arraysize.
这个问题是如果键是:2,4,6,8,那么数组大小将继续增加.
克服这个问题的最佳方法是什么?有没有更好的方法来增加哈希表大小?改变我的散列函数会有帮助吗?
注意:我的键都是整数!
Jim*_*hel 13
哈希表通常通过确保哈希表大小是素数来避免此问题.调整表格大小时,将大小加倍,然后向上舍入到大于该值的第一个素数.这样做可以避免类似于您描述的群集问题.
现在,确实需要一点时间才能找到下一个素数,但不是很多.与重新散列哈希表内容所涉及的时间相比,找到下一个素数几乎不需要时间.有关说明,请参阅优化错误的内容.
归档时间:
11 年,7 月 前
查看次数:
13847 次
最近记录:
8 年,11 月 前