Darts: Double-ARray Trie System

Last update: $Id: index.html,v 1.10 2001/05/24 01:45:42 taku-ku Exp $;


はじめに

Darts は, Double-Array [Aoe 1989]を構築するための シ ンプルな C++ Template Library です. Double-Array は Trie を表現する ためのデータ構造で, 文字列からポインタ(整数)への写像を格納します. 検索は, 検索する文字列の長さに比例する時間で行なえ, 非常に高速です. オリジナル の Double-Array は, 動的に key の追加削除を行えるような 枠組ですが, Darts は ソート済の辞書を一括して Double-Array に変換することに機能を絞っています.

Exact match はもちろん, Common Prefix Search を非常に高速に行うことができます. 形態素解析器の辞書に用いるとかなりの高速化に繋がります.

また, ソースも 400行程度と非常にコンパクトなので, Double-Array の構築アルゴリズムや 検索アルゴリズムの勉強にも良い教材だと思います. 他の言語への移植もそう難 しくないでしょう.

新着情報

使い方

Darts は, darts.h を提供するのみの, C++ Template Library です. そのつど include して使用します.
inline 化による高速性を期待して, このような配布形態にしています.

サンプルプログラミング

付属プログラムの説明

既知の問題

ダウンロード

Darts は GNU Lesser General Public Licenseに従ったフリーソフトウェアです.

インストール

TODO

参考文献, リンク


$Id: index.html,v 1.10 2001/05/24 01:45:42 taku-ku Exp $;

taku-ku@is.aist-nara.ac.jp