【发布时间】:2016-02-25 02:03:19
【问题描述】:
我的问题是,如果我们使用 k(哈希函数的数量)作为 n(要插入的元素的数量),我看到得到误报的概率非常低。我意识到这真的很慢..这是最坏的情况吗?这能确保永远不会出现误报吗?
【问题讨论】:
标签: hash big-o time-complexity probability bloom-filter
我的问题是,如果我们使用 k(哈希函数的数量)作为 n(要插入的元素的数量),我看到得到误报的概率非常低。我意识到这真的很慢..这是最坏的情况吗?这能确保永远不会出现误报吗?
【问题讨论】:
标签: hash big-o time-complexity probability bloom-filter
不,您永远无法通过更改哈希函数的数量来确保 Bloom 过滤器没有误报。 The optimal number of hash functions is linear in the ratio of the space to the cardinality,因此您的选择将远非最佳,除非您使用太多空间以直接存储集合,完全避免使用 Bloom 过滤器。
如果您的对象确实很大或者您的对象数量很少,则最后一部分不正确。
【讨论】: