ブルーム フィルター、スペース効率の高い確率的データ構造、要素をハッシュされたビット ベクトルにマッピングすることによるテスト セット メンバーシップ。ハッシュ テーブルとは異なり、確率的な性質により誤検知の可能性が低く、順序付けされていません。 Blo
ブルーム フィルターは、要素がセット内に存在するかどうかをテストするために使用されるスペース効率の高いデータ構造です。これらは、一連のハッシュ関数を使用して要素をビット ベクトルにマップすることによって機能します。要素が対応するハッシュ関数に一致する場合、ベクトル内の各ビットは 1 に設定されます。
メンバーシップをテストするために、同じハッシュ関数を使用して要素がハッシュされます。ベクトル内のすべてのビットが 1 に設定されている場合、その要素はセット内に存在します。いずれかのビットが 0 に設定されている場合、その要素はセット内に存在しません。
ブルーム フィルターは、両方ともハッシュ関数を使用して要素をマップするという点でハッシュ テーブルに似ています。データ構造に。ただし、この 2 つにはいくつかの重要な違いがあります。
まず、ブルーム フィルターは確率的データ構造です。これは、ブルーム フィルターが誤検知 (要素が存在しないのに要素が存在することを示す) を引き起こす可能性が低いことを意味します。ブルーム フィルターのサイズと使用されるハッシュ関数の数は、誤検知の確率を減らすために調整できます。
第 2 に、ブルーム フィルターは順序付けされたデータ構造ではありません。これは、特定の順序でブルーム フィルターに要素にアクセスしたり、ブルーム フィルターから要素を削除したりすることができないことを意味します。
ブルーム フィルターは、スペースが重視され、誤検知が問題にならないシナリオで最も効果的です。大きな懸念。これには、次のようなアプリケーションが含まれます。
以上がブルームフィルターとはの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。