使用布隆过滤器模拟集合交叉近似。我已经尝试了很多简单的哈希函数来将值散列到过滤器。但它不擅长避免碰撞。所以有人建议使用通用哈希函数。但我不知道它是如何工作的。我的程序只是将密钥传递给哈希函数,哈希函数返回哈希值。任何人都可以帮我代码吗? 感谢
答案 0 :(得分:0)
与bloom过滤器一起使用时,不要担心哈希函数的冲突。在这种情况下,您不必处理碰撞。只是得到k不同的函数,当你插入一个元素时,在m位数组中设置k位。在查询时,您再次使用所有k个哈希函数来检查所有k位;如果未设置其中任何一个,则搜索为假。如果所有这些都设置好了,你就不能得出任何结论(假阳性结果)。这在wiki中清楚地解释了: