0

データのブロック (約 20000 ブロック) で約 100 語を検索する必要があり、各ブロックは約 20 語で構成されています。ブロックは、一致数の降順で返される必要があります。力ずくの手法は、100 語すべてを 1 つずつ検索し、関連する検索の数を複雑に組み合わせる必要があるため、非常に面倒です。同時に複数の単語を検索し、一致する単語の数を保存できる他のアルゴリズムはありますか?

ありがとうございました

4

2 に答える 2

1

Aho-Corasickアルゴリズムを使用して、一度に 100 語すべてを検索できます。SOおよびgithubで利用可能ないくつかの実装があります。

于 2013-03-11T03:31:53.310 に答える
0

マルチスレッドを使用して結果を保存することを検討しないのはなぜですか? ブロック数に等しいサイズの配列を作成し、各スレッドが結果を 1 つのブロックでカウントし、スレッドが結果を配列内の対応するエントリに書き込みます。後で配列を降順でソートすると、結果が得られます。

于 2013-03-11T03:17:19.233 に答える