我正在阅读Pagh和Rodle的《杜鹃哈希》(cuckoo hashing)一文,但无法理解以下段落的含义:
“这个过程可能会出现循环,如图1(b)所示。因此,迭代次数受到一个“MaxLoop”值的限制,该值将在2.3节中指定。如果达到了这个迭代次数,我们将使用新的哈希函数对表中的键进行重新哈希,并尝试再次容纳该无巢键。无需为重新哈希分配新表:我们只需简单地遍历表,删除并对所有未在其目标位置上的键执行常规插入操作即可。”
“使用新的哈希函数”是什么意思? 在插入算法中,表格被调整大小。我们是否应该有一个用于哈希函数的“池子”来使用?我们如何创建这个池?
回答:当最大循环次数(MaxLoop)被耗尽时,杜鹃哈希会使用新的哈希函数对表中的键进行重新哈希,以尝试再次容纳无巢键。不需要重新分配新的表,只需要通过遍历表,删除未在目标位置上的键,并对它们进行常规的插入操作即可。至于如何创建哈希函数的“池子”,该文章没有给出相关信息。
“使用新的哈希函数”是什么意思? 在插入算法中,表格被调整大小。我们是否应该有一个用于哈希函数的“池子”来使用?我们如何创建这个池?
回答:当最大循环次数(MaxLoop)被耗尽时,杜鹃哈希会使用新的哈希函数对表中的键进行重新哈希,以尝试再次容纳无巢键。不需要重新分配新的表,只需要通过遍历表,删除未在目标位置上的键,并对它们进行常规的插入操作即可。至于如何创建哈希函数的“池子”,该文章没有给出相关信息。