小さなパーサを書いてBBCodeを解析し、適切にフォーマットされたHTMLを返すことに決めました。私はキーワードを表現する最も効率的な方法が何であるかを決めるのに苦労しています。私は常にそれらを保持するために別々の文字列を使用することができますが、私は効率的な検索を可能にするいくつかの未知のデータ構造(私にとって)がなければならないように感じる。キーワードを保持する最も効率的なデータ構造は何ですか?
STLに何かがある場合はC++を使用しています。私は実際にそれを使用するつもりはないので、PHPのようなものを使う必要はありません。 GUIインターフェイスはありません。テキストファイルを入力するだけで、HTMLを解析して新しいファイルを出力します。
編集:キーワードでは、開幕タグと終了タグを意味します([b]
と[/b]
など)。
コンパイル時に挿入されるので、これはリニアルックアップを持つ生の配列を使用するよりもなぜ優れていますか? – jkeys
?なぜコンパイル時に挿入が行われるのですか?あなたの挿入はコンパイル時にのみ行われることを意味しますか? さらに、配列がリニアタイム検索であるかどうかはわかりませんが、サフィックス配列に基づいた高度なアルゴリズムを使用していない限り、私はあなたが疑うところです。 aho-corasickメソッドは、検索している単語の長さに対して時間的に一致するすべてのキーワードを検索します。 –