# GESA library
This library implements Generalized Enhanched Suffix Arrays (GESAs).
ESAs (for single strings) are created using
[sais-lite-lcp](https://github.com/kurpicz/sais-lite-lcp)
(see [also](http://algo2.iti.kit.edu/english/1828.php)) [1]. In theory,
any implementation for the construction of suffix arrays and the longest
common prefix array (LCP) can be used.
GESAs are constructed from ESAs using a generalization of the merging
method from [2].
**NOTE** currently Algorithm 5.21 (from [2]) is implemented with a
worst-case O(n^2 ) complexity. We should implement Section 5.5.5.
## References
[1] J. Fischer. Inducing the LCP-Array. In F. Dehne, J. Iacono, and J. Sack, editors, *Algorithms and Data Structures: 12th International Symposium, WADS 2011, New York, USA, August 15-17, 2011. Proceedings*, pages 374-385. Springer, 2011.
[2] E. Ohlebusch. *Bioinformatics Algorithms: Sequence Analysis, Genome Rearrangements, and Phylogenetic Reconstruction* Oldenbusch Verlag, 2013.