0

私が取り組んでいるプロジェクトのためにラゲルを学ぼうとしています。私はこれが初めてです。

15個の文字列のリストがあります。問題は、指定された文字列がこの 15 個の文字列のいずれかと一致するかどうかを確認することです。

通常の状況では、15 個の文字列でハッシュ セットを構築するだけで、文字列の O(1) ルックアップを実行し、一致するかどうかを判断できます。

私の場合、これを10億回行います。そのため、ragel を使用してこれらの 15 個の文字列のステート マシンを構築し、指定された文字列が一致するかどうかを確認しようとしています。

どちらの場合も、キャラクターを 1 人ずつ見ていく必要があるため、ラゲル アプローチを使用する方が優れていると思います。つまり、ハッシュを計算するには、すべての文字を一度スキャンしてからルックアップを行う必要があります。ステートマシンを使用してすべての文字をスキャンすると、結果が得られ、ルックアップを回避できます。

これはより良いアプローチですか?そして、文字列マッチングを行うために 15 個の文字列のステート マシンを構築する方法を教えてもらえますか?

4

1 に答える 1