xcdat/README.md
2019-05-09 10:58:00 +09:00

28 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Xcdat: xor-compressed double-array trie
Xcdat is a C++ library that implements static compressed string dictionaries based on an improved double-array trie.
The double array is known as the fastest trie representation and has been used in many trie libraries. On the other hand, it has a space efficiency problem because of a pointer-based data structure. Xcdat solves the problem using the XOR-compressed double-array methods described in the following article.
> Shunsuke Kanda, Kazuhiro Morita, and Masao Fuketa. Compressed double-array tries for string dictionaries supporting fast lookup. Knowledge and Information Systems, 51(3): 10231042, 2017. [[doi](https://doi.org/10.1007/s10115-016-0999-8)] [[pdf](https://drive.google.com/file/d/1_BknOv1misIK-iUk4u9c9yZi3qmWNruf/view?usp=sharing)]
Xcdat can implement trie dictionaries in smaller space compared to the other double-array libraries. In addition, the lookup speed is relatively fast in compressed data structures from the double-array advantage.
## Documentation
The document of Xcdat is [here](https://kampersanda.github.io/xcdat/).
## Build Instructions
You can download and compile Xcdat as the following commands.
```
$ git clone https://github.com/kampersanda/xcdat.git
$ cd xcdat
$ mkdir build
$ cd build
$ cmake ..
$ make
$ make install
```