0

这已经被问了很多,但我有一个场景,如果向量大小已知并且字符或整数中没有重复怎么办?

认为:

vector<unsigned int> v = { 1,2,3,4,5,6,7,8,9,10};

我们已经知道我将有最多 10 个整数并且没有重复。我有很多向量要计算,但可以说这是最大尺寸为 10 的最坏情况。
论坛:

hash = (hash * PRIME_BASE+ v[i]) % PRIME_MOD;

显然 PRIME_BASE 应该是 = vector size - 1 在这种情况下是 9 (我知道 9 不是素数基数)但它不会产生冲突。

但是如何选择 PRIME_MOD 来减少在知道向量的最大大小并且其中没有数字重复的情况下生成的大数字?
我正在尝试生成线性同余哈希。

谢谢

更新
我也忘了提到我们已经知道所有向量中的最大数字也是已知的,在这个示例中是 10。

4

0 回答 0