Giter Club home page Giter Club logo

darts-clone's Introduction

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 a static double-array trie structure.

The features of Darts-clone are as follows:

  • Half-size elements
    • Darts-clone uses 32-bit elements and Darts uses 64-bit elements. This feature simply halves the size of dictionaries.
  • Directed Acyclic Word Graph (DAWG)
    • Darts uses a basic trie to implement a dictionary. On the other hand, Darts-clone uses a Directed Acyclic Word Graph (DAWG) which is derived from a basic trie by merging its common subtrees. Darts-clone thus requires less elements than Darts if a given keyset contains many duplicate values.

Due to these features, Darts-clone can achieve better space efficiency without degrading the search performance.


Darts-clone: Darts(Double-ARay Trie System)のクローン

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

  • 要素のサイズが半分
    • Darts が 64-bit の要素を使うのに対し, Darts-clone は 32-bit の要素を使います. そのため,辞書のサイズは単純に半減します.
  • Directed Acyclic Word Graph (DAWG)
    • Darts がトライを木構造で表現しているのに対し, Darts-clone は Directed Acyclic Word Graph (DAWG) というグラフ構造を使います. DAWG は木構造の共通部分を併合することで得られるデータ構造なので, キーに関連付ける値に重複がたくさん含まれていれば, Darts-clone の方が少ない要素で辞書を構成できます.

これらの特徴により, Darts-clone は検索機能や速度を劣化させることなく, よりコンパクトな辞書を実現できます.

darts-clone's People

Contributors

s-yata avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

darts-clone's Issues

limitations in the number of keys

I got an Exception: "failed to modify unit: too large offset", and I use the latest version. darts-clone still has limitations in the number of keys.?

Copy, move and assignment ctor

Hi,

I just wanted to ask if there is a specific reason that I don't see to disallow the copy and assignment operator or are they just not implemented?

Thanks and best wishes,
Severin

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.