xcdat/README.md

28 lines
1.3 KiB
Markdown
Raw Normal View History

2016-12-03 07:51:00 +00:00
# Xcdat: xor-compressed double-array trie
2017-11-17 14:40:24 +00:00
Xcdat is a C++ library that implements static compressed string dictionaries based on an improved double-array trie.
2016-12-03 07:51:00 +00:00
2017-11-17 14:40:24 +00:00
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.
2016-12-04 06:53:02 +00:00
2019-05-09 01:58:00 +00:00
> 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)]
2016-12-03 07:51:00 +00:00
2017-11-17 14:40:24 +00:00
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.
2016-12-03 07:51:00 +00:00
2017-11-17 14:40:24 +00:00
## Documentation
2016-12-03 07:51:00 +00:00
2017-11-17 14:49:39 +00:00
The document of Xcdat is [here](https://kampersanda.github.io/xcdat/).
2016-12-04 06:53:02 +00:00
2017-11-17 14:40:24 +00:00
## Build Instructions
2016-12-04 06:53:02 +00:00
2017-11-17 14:40:24 +00:00
You can download and compile Xcdat as the following commands.
2016-12-03 07:51:00 +00:00
```
2017-11-17 14:40:24 +00:00
$ git clone https://github.com/kampersanda/xcdat.git
2016-12-03 07:51:00 +00:00
$ cd xcdat
$ mkdir build
$ cd build
2017-07-12 06:48:49 +00:00
$ cmake ..
2016-12-03 07:51:00 +00:00
$ make
2017-07-12 06:48:49 +00:00
$ make install
2016-12-03 07:51:00 +00:00
```