【问题标题】:When is a Bloom filter useful?布隆过滤器什么时候有用?
【发布时间】:2011-09-01 08:49:53
【问题描述】:

我了解使布隆过滤器成为有吸引力的数据结构的原因;但是,我发现很难真正理解何时可以使用它们,因为您仍然必须执行您试图避免的昂贵操作,以确保您没有发现误报。因此,他们通常不会增加很多开销吗?例如,关于布隆过滤器的维基百科文章建议它们可用于数据同步。我第一次看到布隆过滤器为空但说您没有更改任何内容并再次同步数据时会很棒。现在,对布隆过滤器的每次查找都会报告该文件已被复制,但我们是否仍需要执行我们试图避免的较慢的查找任务以真正确保这是正确的?

【问题讨论】:

标签: data-structures bloom-filter


【解决方案1】:

基本上,您使用 Bloom 过滤器来避免证明数据结构中不存在项目的漫长而艰巨的任务。确定是否缺少某些东西几乎总是比确定它是否存在更难,因此过滤器有助于弥补搜索您无论如何都不会找到的东西的损失。它并不总是奏效,但当它奏效时,您将获得巨大的收益。

【讨论】:

  • 好的。我有点想它是这样的,但这有助于巩固这一点。谢谢。
【解决方案2】:

布隆过滤器在成员查询的情况下非常有效,即找出一个元素是否属于集合。集合中元素的数量不影响查询性能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 1970-01-01
    • 2020-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多