布隆过滤器 - 使用元素数作为哈希函数的数量

时间:2016-02-25 02:03:20

标签: hash big-o time-complexity probability bloom-filter

我的问题是,如果我们使用k(散列函数的数量)作为n(要插入的元素的数量),我看到得到假阳性的概率非常低。我意识到这真的很慢......这是最糟糕的情况吗?这是否会确保永远不会产生误报?

1 个答案:

答案 0 :(得分:0)

不,您永远无法通过更改散列函数的数量来确保Bloom过滤器没有误报。 The optimal number of hash functions is linear in the ratio of the space to the cardinality,所以你的选择将远远不是最佳选择,除非你使用这么多的空间,你可以直接存储集合,完全避免使用Bloom过滤器。

如果您的对象真的很大或者您的对象数量很少,那么最后一部分就不是真的。