在Hashtable中重演

时间:2013-01-11 10:45:27

标签: data-structures hash hashmap hashtable

我有一个关于重复的问题。据我所知,当载荷因子(表格中的元素数量/表格大小)达到0.5时,我们使用rehashing和rehashing,我们期望减少碰撞。我很确定在进行二次探测时可以使用rehashing,我的问题是,是否应该重新使用线性探测或单独链接?在进行单独链接或线性探测时是否有使用rehash的逻辑?

由于

1 个答案:

答案 0 :(得分:2)

一般情况下,当哈希表是超出特定数量的填充因子时,我们会进行重新散列,如您所解释的那样。在进行重新哈希时,我们会增加哈希表的大小并进行重新哈希。 Rehashin不是要使用替代哈希策略来重新制作新的哈希传递(使用旧/新策略)

由您决定使用哪种碰撞处理策略。通常人们会选择封闭散列。我们也可以使用单独的链接,但它仅用于未知和已知的大小,但开放寻址用于已知的大小。因此,如果大小已知,我们更喜欢开放寻址以避免数据浪费。 / p>