对于任何哈希函数,我们都可以说,如果表大小 m 远小于宇宙大小 u,那么对于任何哈希函数 h,U 的某个大子集都具有相同的哈希值。为了解决这个问题,我们需要一组哈希函数,从中我们可以选择任何一个对 S 都有效的函数。如果大多数哈希函数对 S 来说都更好,我们可以选择随机哈希函数假设 ℌ 是一组哈希函数。我们可以说 ℌ 是通用的,如果对于每个 x, y ∈ U,则 ... 阅读更多
这里我们将讨论使用乘法方法进行哈希。为此,我们使用哈希函数 -ℎ(𝑥) = ⌊𝑚𝑥𝐴⌋ 𝑚𝑜𝑑 𝑚这里 A 是一个实值常数。这种方法的优点是 m 的值不是那么关键。我们也可以将 m 设为 2 的幂。虽然 A 的任何值都会产生哈希函数,但某些 A 值比其他值更好。根据 Knuth 的说法,我们可以使用黄金分割率作为 A,因此 A 将是$$A=\frac{\sqrt5-1}{2}=0.61803398$$当然,无论为 A 选择什么值。鸽巢原理意味着如果 u ≥ ... 阅读更多