gvinciguerra / BlockEpsilonTree

🌳 A compressed rank/select dictionary exploiting approximate linearity and repetitiveness.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Block-ε tree

The block-ε tree is a compressed rank/select dictionary that achieves new space-time trade-offs by exploiting the approximate linearity and the repetitiveness of the data. It is based on a combination of the LA-vector (paper, code) and the block tree (paper, code).

Usage

This is a header-only library. To compile the example, use the following commands:

git clone https://github.com/gvinciguerra/BlockEpsilonTree.git
cd BlockEpsilonTree
cmake . -DCMAKE_BUILD_TYPE=Release
make -j8

License

This project is released for academic purposes under the terms of the GNU General Public License v3.0. Some methods implemented in this project are patent pending.

If you use this code for your research, please cite:

Paolo Ferragina, Giovanni Manzini, and Giorgio Vinciguerra. Repetition- and linearity-aware rank/select dictionaries. In: Proceedings of the 32nd International Symposium on Algorithms and Computation (ISAAC), 2021.

@inproceedings{Ferragina:2021isaac,
  author = {Ferragina, Paolo and Manzini, Giovanni and Vinciguerra, Giorgio},
  booktitle = {Proceedings of the 32nd International Symposium on Algorithms and Computation (ISAAC)},
  title = {Repetition- and linearity-aware rank/select dictionaries},
  year = {2021}}

About

🌳 A compressed rank/select dictionary exploiting approximate linearity and repetitiveness.

License:GNU General Public License v3.0


Languages

Language:C++ 99.6%Language:CMake 0.4%