This repository contains an implementation of two LZ-End parsing algorithms described in the papers:
- Sebastian Kreft and Gonzalo Navarro. On compressing and indexing repetitive sequences. Theor. Comput. Sci. (2013).
- Dominik Kempa and Dmitry Kosolobov. LZ-End Parsing in Linear Time. ESA 2017. [Only the algorithm of ยง2]
The implementation supports both byte and integer alphabets.
It does not define a compressed file format, rather it outputs a list of LZ-End phrases, each represented as a struct
with the phrase length, the id of a previous phrase where the phrase ends, and the trailing symbol.
Check out also this repository by Kempa and Kosolobov.
This is a header-only library. To compile the example, use the following commands:
git clone https://github.com/gvinciguerra/LZ-End.git
cd LZ-End
cmake . -DCMAKE_BUILD_TYPE=Release
make -j8
This project is licensed under the terms of the Apache License 2.0.