Hash 如何应用统一哈希函数?

Hash 如何应用统一哈希函数?,hash,Hash,根据CLRS第267页,定义了一类统一散列函数,但我想知道在散列一组键时如何应用这些函数 我们是每次要计算散列值时随机选择一个函数,还是随机选择一个函数并使用它来计算该组中键的每个散列值?如果每次要散列键时随机选择一个散列函数,因为不同的散列函数为同一个键创建不同的散列值,所以最终会导致混乱。也就是说,如果您的键是“foobar”,那么散列函数A将为其计算一个与散列函数B不同的值。这不会有用 因此,您可以选择一个哈希函数,并将其应用于该组中的每个键。通常,您将对系统中的所有键使用相同的哈希函数。

根据CLRS第267页,定义了一类统一散列函数,但我想知道在散列一组键时如何应用这些函数


我们是每次要计算散列值时随机选择一个函数,还是随机选择一个函数并使用它来计算该组中键的每个散列值?

如果每次要散列键时随机选择一个散列函数,因为不同的散列函数为同一个键创建不同的散列值,所以最终会导致混乱。也就是说,如果您的键是“foobar”,那么散列函数A将为其计算一个与散列函数B不同的值。这不会有用

因此,您可以选择一个哈希函数,并将其应用于该组中的每个键。通常,您将对系统中的所有键使用相同的哈希函数。一般来说,在程序中使用多个哈希函数没有什么特别的好处。(是的,我知道有特殊情况。)