algorithm - 对于整数集合(即多集),什么是好的哈希函数?

标签 algorithm hash

我正在寻找一个将多组整数映射到一个整数的函数,希望能提供某种保证,例如成对独立性。

理想情况下,内存使用量是恒定的,并且哈希值可以在插入/删除后的 O(1) 时间内更新。 (这禁止做一些事情,比如对整数进行排序和使用像 h(x) = h_1(x_1, h_2(x_2, h_3(x_3, x_4))) 这样的哈希函数。)

将哈希值异或在一起是行不通的,因为 h({1,1,2}) = h({2})

我认为,如果底层哈希函数具有不切实际的强保证(例如 n 独立性),则将哈希以素数为模可能会起作用。

最佳答案

我在 cstheory.stackexchange.com 上问过同样的问题并得到了很好的答案:

https://cstheory.stackexchange.com/questions/3390/is-there-a-hash-function-for-a-collection-i-e-multi-set-of-integers-that-has

关于algorithm - 对于整数集合(即多集),什么是好的哈希函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4175951/

相关文章:

php - 如何使用 PHP 从最大的制表符分隔文件中获取有用信息?

c++ - unordered_set 通过 lambdas 自定义哈希

java - 将字节数组转换为固定长度的字母数字字符串

assembly - 后进先出栈算法设计

performance - 为什么我的欧拉计划第 12 题算法这么慢?

algorithm - 是否有一种算法可以从二维列表中找到不重复的排列?

algorithm - 如何从按字母顺序排序的列表中获取一组首字母相同的名字?

php - 比较目录状态或散列以获得乐趣和利润的最快方法

c# - 如何离线存储密码

c++ - 似乎无法在碰撞、散列时打破 while 循环