Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/xen/darts-clone

Automatically exported from code.google.com/p/darts-clone
https://github.com/xen/darts-clone

Last synced: about 1 month ago
JSON representation

Automatically exported from code.google.com/p/darts-clone

Awesome Lists containing this project

README

        

== 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/