我正在阅读Pagh和Rodle的杜鹃散文,我无法理解这一段的含义:
可能会发生此过程循环,如图1(b)所示。 因此,迭代次数由值“MaxLoop”限定 在2.3节中规定。如果达到此迭代次数, 我们使用新的哈希函数重新表达表中的键,然后尝试 再一次容纳无巢的钥匙。没有必要 为重新分配分配新表:我们可能只是通过 要删除所有键并执行常用插入过程的表 发现不在表中的预定位置。
使用新的哈希函数是什么意思?
在插入算法中,调整表的大小。我们应该有一个"游泳池"哈希函数以某种方式使用?我们如何创建这个池?
答案 0 :(得分:3)
是的,他们正在期待新的哈希函数,就像他们说的那样。幸运的是,他们不需要一堆新的算法,只是在当前数据集上略有不同的散列行为。
看看论文的第2.1节,然后是附录A.它讨论了随机universal hash functions的构造。
一个简单的,有希望的说明性示例,假设您已经获得了一些正常的哈希函数,它可以在字节块上运行。我们称之为H(x)
。您希望使用它来生成一系列新的,略有不同的散列函数H_n(x)
。好吧,如果H(x)
是好的,并且您的要求很弱,那么您可以定义H_n(x) = H(concat(n,x))
。你对H_n(x)
的行为没有很好的保证,但是你期望它们中的大部分是不同的。