【问题标题】:Why Does a Bloom Filter Need Multiple Hash Functions?为什么布隆过滤器需要多个哈希函数?
【发布时间】:2011-09-30 04:51:22
【问题描述】:

我真的不明白为什么布隆过滤器需要多个散列函数(例如,SHA 和 MD5)。

例如,为什么不直接制作一个更大 SHA 哈希,然后将其分解为多个部分并将它们视为单独的哈希?就速度而言,这不是更有效吗?

【问题讨论】:

  • 根据wikipedia,有时会这样做:对于一个好的散列函数...这种类型的散列可用于生成多个“不同”散列函数,方法是将其输出切片多个位域
  • @Damien:我从未见过,非常感谢。如果您将其发布为答案,我会 +1。 :)

标签: hash hash-function bloom-filter


【解决方案1】:

这个想法是使用几个不同但简单的哈希函数。如果您要使用一些加密哈希函数,如 SHA 或 MD5,那么您可以改变它的输入。是否更高效取决于您的哈希函数的复杂程度。

【讨论】:

    【解决方案2】:

    它被称为三重/双重哈希,它最大限度地减少了冲突的机会,5个哈希函数发生冲突的概率比一个哈希函数小5倍。

    【讨论】:

      猜你喜欢
      • 2010-10-14
      • 2018-07-21
      • 1970-01-01
      • 1970-01-01
      • 2014-11-10
      • 1970-01-01
      • 2012-08-10
      • 1970-01-01
      • 2012-03-03
      相关资源
      最近更新 更多