Linear Algorithms for Computing the Lyndon Border Array and the Lyndon Suffix Array

Ali Alatabbi, Jacqueline W. Daykin, M. Sohel Rahman

Research output: Working paper

Abstract

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}$ such that $\s{u} \not= \s{s}$. The computation of the border array of a string $\s{s}$, namely the borders of each prefix of $\s{s}$, is strongly related to the string matching problem: given a string $\s{w}$, find all of its occurrences in $\s{s}$. A {\itshape Lyndon word} is a primitive word (i.e., it is not a power of another word) which is minimal for the lexicographical order of its conjugacy class (i.e., the set of words obtained by cyclic rotations of the letters). In this paper we combine these concepts to introduce the \emph{Lyndon Border Array} Lβ of $\s{s}$, whose i-th entry $\mathcal L \beta(\s{s})[i]$ is the length of the longest border of $\s{s}[1 \dd i]$ which is also a Lyndon word. We propose linear-time and linear-space algorithms for computing $\mathcal L \beta (\s{s})$. %in the case of both binary and bounded alphabets. Further, we introduce the \emph{Lyndon Suffix Array}, and by modifying the efficient suffix array technique of Ko and Aluru \cite{KA03} outline a linear time and space algorithm for its construction.
Original languageEnglish
PublisherarXiv
Number of pages17
Publication statusPublished - 23 Jun 2015
Externally publishedYes

Fingerprint

Dive into the research topics of 'Linear Algorithms for Computing the Lyndon Border Array and the Lyndon Suffix Array'. Together they form a unique fingerprint.

Cite this