== Darts-clone: A clone of Darts (Double-ARray Trie System) ==

Darts-clone is a clone of Darts (Double-ARray Trie System),
which is a C++ header library for double-array structure.

The major advantages of Darts-clone are as follows:

1. Half-size units

   While Darts allocates 8 bytes to each unit, Darts-clone allocates only
   4 bytes to each unit. This feature simply halves the size of dictionaries.

2. More sophisticated structure

   While Darts uses a trie to implement a dictionary, Darts-clone uses a
   Directed Acyclic Word Graph (DAWG), which is derived from a trie by
   merging its common subtrees. Darts-clone thus requires less units than
   Darts if a given keyset contains many duplicate values.

Due to these advantages, Darts-clone achieves more compact dictionaries
without degrading search performance.

Project URL: http://code.google.com/p/darts-clone/

----

== Darts-clone: Darts（Double-ARay Trie System）のクローン ==

Darts-clone はダブル配列の C++ ヘッダライブラリである
Darts のクローンであり，以下のような特長を持っています．

1. 要素のサイズが半分

   Darts が 8 bytes の要素を用いるのに対し，Darts-clone は 4 bytes
   の要素を使用します．そのため，辞書のサイズは単純に半減します．

2. 辞書データ構造の改良

   Darts がトライというデータ構造を用いるの対し，Darts-clone は
   Directed Acyclic Word Graph（DAWG）というデータ構造を用います．
   そして，DAWG はトライに含まれる共通部分を併合することで得られる
   データ構造なので，キーに関連付ける値に重複がたくさんあれば，
   Darts-clone の方が少ない要素で辞書を構成できます．

これらの利点により，Darts-clone は検索の機能や時間を劣化させず，
よりコンパクトな辞書を実現しています．

プロジェクト URL: http://code.google.com/p/darts-clone/
