テキストは辞書に単語が含まれているかどうかを確認
ブルームアルゴリズム
ブルームフィルタは、どのような状況下で必要? - 高いメモリを避けます
より一般的な例のいくつかをまず見て
- ワープロソフトは、英語の単語のスペルが正しいかどうかを確認する必要があります
- FBIでは、容疑者の名前は、容疑者のリストに既にあります
- URLが訪問されているクローラで
- ヤフー、Gmailや他のメールスパムフィルタ
これらのいくつかの例は、一つの共通点てきた: どのようにコレクション内の要素があるかどうかを判断するには?
従来の考え方
- 配列
- リスト
- ツリー、平衡二分木、トライ
- 地図(赤黒木)
- ハッシュテーブル
低辞書メモリについては、次のように:
1
インポートjieba 2 DEF :(S)チェック 3 huangfan_path = ' パス/ TO / dict.txt ' 4 jieba.load_userdict(huangfan_path) 5 huangfan_words_dict = )セット( 6 オープン(huangfan_pathと' RB ' FRとして): 7 ため線におけるfr.readlines(): 8 huangfan_words_dict.add(line.strip()(デコード。' UTF-8 ' )) 9 戻りセット(jieba.lcut(S))&self.huangfan_words_dict