如何在哈希表中保持较小的加载因子?

时间:2015-05-31 12:57:02

标签: data-structures hashtable quadratic-probing

我正在学习哈希表和二次探测。我已经读过,如果加载因子是&lt; = 0.5并且表的大小是素数,则二次探测将总是找到一个空槽,并且不会多次访问任何键。然后继续说,为了确保有效的插入,我应该始终保持负载因子<= 0.5。这是什么意思?当然,如果我们继续添加项目,负载因子将增加,直到它等于1,无论我们是否想要它。那么当我的教科书说我应该保持一个小的负载因子时隐含着什么呢?

1 个答案:

答案 0 :(得分:3)

这意味着在某些时候(当你在这种情况下超过0.5的负载系数时),你必须分配一个新的表(它更大一些因素,可能是1.5或2,并且然后四舍五入到最接近的素数)并将旧表中的所有元素复制到其中(这不是直接复制,项目的新位置通常与旧位置不同)。