DeepAI AI Chat
Log In Sign Up

Lyndon Array Construction during Burrows-Wheeler Inversion

10/27/2017
by   Felipe A. Louza, et al.
Universidade de São Paulo
Università del Piemonte Orientale
University of Campinas
McMaster University
0

In this paper we present an algorithm to compute the Lyndon array of a string T of length n as a byproduct of the inversion of the Burrows-Wheeler transform of T. 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) bits of space and supports constant time access. This representation can be built in linear time using O(n) words of space, or in O(n n/ n) time using asymptotically the same space as T.

READ FULL TEXT

page 1

page 2

page 3

page 4

12/21/2018

A Simple Algorithm for Computing the Document Array

We present a simple algorithm for computing the document array given the...
11/16/2019

Constructing the Bijective BWT

The Burrows-Wheeler transform (BWT) is a permutation whose applications ...
01/07/2019

An in-place, subquadratic algorithm for permutation inversion

We assume the permutation π is given by an n-element array in which the ...
05/03/2020

Efficiently Testing Simon's Congruence

Simon's congruence ∼_k is defined as follows: two words are ∼_k-equivale...
06/03/2019

Direct Linear Time Construction of Parameterized Suffix and LCP Arrays for Constant Alphabets

We present the first worst-case linear time algorithm that directly comp...
04/18/2021

Load-Balancing Succinct B Trees

We propose a B tree representation storing n keys, each of k bits, in ei...
09/27/2019

Computing the Inversion-Indel Distance

The inversion distance, that is the distance between two unichromosomal ...

Code Repositories

lyndon-array

Computing the Lyndon Array in linear time [JDA 2018, arXiv'19]


view repo