SACA は 個人的な勉強用に書いている、 Suffix Array 構築アルゴリズムを集めた(集める予定の) C++ クラスライブラリです。ヘッダフィルとして提供されており、他のプロジェクトからincludeして利用することができます。イニシャライザクラスを自分で書くことで、任意の場所にインデックスポイントを制限することができます。さらにソートの際に比較する最大文字長を制限できるので、アプリケーションに応じて柔軟に計算量やインデックスサイズを削減できます。
現在は非常にナイーブなソート実装を用いているため、データの種類によっては現実的な時間で Suffix Arrayを構築することができない可能性があります。この問題は今後のバージョンで解消されていく予定です。
SACA はフリーソフトウェアです. MIT Licenseに従って 本ソフトウェアを使用することができます。
SACAを使ったプロジェクトをコンパイルするためにはBoostが必要になります。
いずれ書く
いずれ書く