English
Related papers

Related papers: Algorithms to Compute the Lyndon Array

200 papers

We present the first linear time algorithm to construct the $2n$-bit version of the Lyndon array for a string of length $n$ using only $o(n)$ bits of working space. A simpler variant of this algorithm computes the plain ($n\lg n$-bit)…

Data Structures and Algorithms · Computer Science 2019-12-11 Philip Bille , Jonas Ellert , Johannes Fischer , Inge Li Gørtz , Florian Kurpicz , Ian Munro , Eva Rotenberg

In this paper we propose a variant of the induced suffix sorting algorithm by Nong (TOIS, 2013) that computes simultaneously the Lyndon array and the suffix array of a text in $O(n)$ time using $\sigma + O(1)$ words of working space, where…

Data Structures and Algorithms · Computer Science 2020-09-10 Felipe A. Louza , Sabrina Mantaci , Giovanni Manzini , Marinella Sciortino , Guilherme P. Telles

The Lyndon array stores, at each position of a word, the length of the longest maximal Lyndon subword starting at that position, and plays an important role in combinatorics on words, for example in the construction of fundamental data…

Data Structures and Algorithms · Computer Science 2026-03-19 Pietro Negri , Manuel Sica , Rocco Zaccagnino , Rosalba Zizza

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 and Algorithms · Computer Science 2019-03-12 Felipe A. Louza , W. F. Smyth , Giovanni Manzini , Guilherme P. Telles

We consider the problem of finding repetitive structures and inherent patterns in a given string $\s{s}$ of length $n$ over a finite totally ordered alphabet. A border $\s{u}$ of a string $\s{s}$ is both a prefix and a suffix of $\s{s}$…

Data Structures and Algorithms · Computer Science 2015-06-24 Ali Alatabbi , Jacqueline W. Daykin , M. Sohel Rahman

We present two variations of Duval's algorithm for computing the Lyndon factorization of a word. The first algorithm is designed for the case of small alphabets and is able to skip a significant portion of the characters of the string, for…

Data Structures and Algorithms · Computer Science 2014-07-14 Sukhpal Singh Ghuman , Emanuele Giaquinta , Jorma Tarhio

An absent word of a word y of length n is a word that does not occur in y. It is a minimal absent word if all its proper factors occur in y. Minimal absent words have been computed in genomes of organisms from all domains of life; their…

Data Structures and Algorithms · Computer Science 2014-07-01 Carl Barton , Alice Heliou , Laurent Mouchard , Solon P. Pissis

We extend the left-to-right Lyndon factorisation of a word to the left Lyndon tree construction of a Lyndon word. It yields an algorithm to sort the prefixes of a Lyndon word according to the infinite ordering defined by Dolce et al.…

Data Structures and Algorithms · Computer Science 2020-11-26 Golnaz Badkobeh , Maxime Crochemore

We present a simple algorithm for computing the document array given a string collection and its suffix array as input. Our algorithm runs in linear time using constant additional space for strings from constant alphabets.

Data Structures and Algorithms · Computer Science 2020-09-10 Felipe A. Louza

Sparse suffix sorting is the problem of sorting $b=o(n)$ suffixes of a string of length $n$. Efficient sparse suffix sorting algorithms have existed for more than a decade. Despite the multitude of works and their justified claims for…

Data Structures and Algorithms · Computer Science 2024-07-08 Lorraine A. K. Ayad , Grigorios Loukides , Solon P. Pissis , Hilde Verbeek

We present an extension of the in-place BWT algorithm of Crochemore et al. [8] that enables the construction of the Lyndon array using O(1) extra space. Our approach incrementally maintains the lexicographic ranks of the suffixes during the…

Data Structures and Algorithms · Computer Science 2025-12-25 Felipe A. Louza , Arnaud Lefebvre

The suffix array is a data structure that finds numerous applications in string processing problems for both linguistic texts and biological data. It has been introduced as a memory efficient alternative for suffix trees. The suffix array…

Data Structures and Algorithms · Computer Science 2013-07-05 Sanguthevar Rajasekaran , Marius Nicolae

For a text given in advance, the substring minimal suffix queries ask to determine the lexicographically minimal non-empty suffix of a substring specified by the location of its occurrence in the text. We develop a data structure answering…

Data Structures and Algorithms · Computer Science 2016-02-01 Tomasz Kociumaka

We present new algorithms to detect and correct errors in the lower-upper factorization of a matrix, or the triangular linear system solution, over an arbitrary field. Our main algorithms do not require any additional information or…

Symbolic Computation · Computer Science 2019-01-31 Jean-Guillaume Dumas , Joris Van Der Hoeven , Clément Pernet , Daniel Roche

We introduce new and simple algorithms for the calculation of the number of perfect matchings of complex weighted, undirected graphs with and without loops. Our compact formulas for the hafnian and loop hafnian of $n \times n $ complex…

Data Structures and Algorithms · Computer Science 2019-05-02 Andreas Björklund , Brajesh Gupt , Nicolás Quesada

We give efficient algorithms for ranking Lyndon words of length $n$ over an alphabet of size $\sigma$. The rank of a Lyndon word is its position in the sequence of lexicographically ordered Lyndon words of the same length. The outputs are…

Data Structures and Algorithms · Computer Science 2023-12-13 Tomasz Kociumaka , Jakub Radoszewski , Wojciech Rytter

In this paper we give efficient algorithms for computing second-, third-, and fourth-order linear recurrences. We also present an algorithm scheme for computing terms with the indices $N,\ldots,N+n-1$ of an $n$th-order linear recurrence.…

Number Theory · Mathematics 2018-04-25 Dmitry I. Khomovsky

The process of sorting the suffixes of a text plays a fundamental role in Text Algorithms. They are used for instance in the constructions of the Burrows-Wheeler transform and the suffix array, widely used in several fields of Computer…

Data Structures and Algorithms · Computer Science 2013-06-07 Sabrina Mantaci , Antonio Restivo , Giovanna Rosone , Marinella Sciortino

A seed in a word is a relaxed version of a period in which the occurrences of the repeating subword may overlap. We show a linear-time algorithm computing a linear-size representation of all the seeds of a word (the number of seeds might be…

Data Structures and Algorithms · Computer Science 2019-03-15 Tomasz Kociumaka , Marcin Kubica , Jakub Radoszewski , Wojciech Rytter , Tomasz Walen

We construct fast algorithms for evaluating transforms associated with families of functions which satisfy recurrence relations. These include algorithms both for computing the coefficients in linear combinations of the functions, given the…

Computational Engineering, Finance, and Science · Computer Science 2025-10-20 Mark Tygert
‹ Prev 1 2 3 10 Next ›