English

Lyndon Array Construction during Burrows-Wheeler Inversion

Data Structures and Algorithms 2019-03-12 v1

Abstract

In this paper we present an algorithm to compute the Lyndon array of a string TT of length nn as a byproduct of the inversion of the Burrows-Wheeler transform of TT. Our algorithm runs in linear time using only a stack in addition to the data structures used for Burrows-Wheeler inversion. We compare our algorithm with two other linear-time algorithms for Lyndon array construction and show that computing the Burrows-Wheeler transform and then constructing the Lyndon array is competitive compared to the known approaches. We also propose a new balanced parenthesis representation for the Lyndon array that uses 2n+o(n)2n+o(n) bits of space and supports constant time access. This representation can be built in linear time using O(n)O(n) words of space, or in O(nlogn/loglogn)O(n\log n/\log\log n) time using asymptotically the same space as TT.

Keywords

Cite

@article{arxiv.1710.10105,
  title  = {Lyndon Array Construction during Burrows-Wheeler Inversion},
  author = {Felipe A. Louza and W. F. Smyth and Giovanni Manzini and Guilherme P. Telles},
  journal= {arXiv preprint arXiv:1710.10105},
  year   = {2019}
}