これからのDouble Arrayは動的更新に対応するべき

 Double Arrayのコードなんて1年以上いじってないくせになにを言ってるんだこの口はと言う感じですが、Double Arrayを作るのであれば、動的更新に対応させるべきであると、そう思うわけです。
 Double Arrayのメリットは

  • Trieである
  • 速い
  • (Ternary Search Treeとかと比べると)サイズも小さい

 という感じだった訳ですが、速度はともかく、サイズではTxが使っているようなLOUDSやLOUDS++などの圧縮しちゃう方式に勝てないので、静的な辞書としては、速度が超重要なところ以外ではLOUDSやLOUDS++を使った辞書を使うのがいいのかなと思う訳です。辞書引き以外の部分がボトルネックであることも多いだろうしね。
 と言うわけで、簡潔データ構造に比較してDouble Arrayでなにか便利な事ができないかなというと、圧縮をかける方式ではやはり、動的な更新が難しい。その点、Double Arrayなら動的な更新は既に研究済みで、実用的な速度で動作する。実装は面倒くさいけど。
 と言うわけで、自作のDouble Arrayライブラリ、ドメインなくなっちゃったので自動的に公開停止状態になってしまっている訳ですが、削除機能を実装して、Google Codeかどっかにアップしようと考えてます。
 と宣言することによって自分にプレッシャーをかけるメソッドは、果たして上手く行くのかどうかわかりませんが。うまくいくといいね。
 動的更新に対応したとして、それがうれしい用途がどれぐらいあるのかという問題もあるよね。動的Trie。何に使えばいいのか…。