English
Related papers

Related papers: Grammar-compressed Self-index with Lyndon Words

200 papers

We consider document listing on string collections, that is, finding in which strings a given pattern appears. In particular, we focus on repetitive collections: a collection of size $N$ over alphabet $[1,\sigma]$ is composed of $D$ copies…

Data Structures and Algorithms · Computer Science 2018-11-15 Gonzalo Navarro

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

We consider building, given a straight-line program (SLP) consisting of $g$ productions deriving a two-dimensional string $T$ of size $N\times N$, a structure capable of providing random access to any character of $T$. For one-dimensional…

Data Structures and Algorithms · Computer Science 2025-12-01 Itai Boneh , Estéban Gabory , Paweł Gawrychowski , Adam Górkiewicz

We present an algorithm that, given an index $t$, produces the $t$-th (lexicographically ordered) answer of an MSO query over a string. The algorithm requires linear-time preprocessing, and builds a data structure that answers each of these…

Data Structures and Algorithms · Computer Science 2026-03-16 Martín Muñoz

The classic string indexing problem is to preprocess a string S into a compact data structure that supports efficient pattern matching queries. Typical queries include existential queries (decide if the pattern occurs in S), reporting…

Data Structures and Algorithms · Computer Science 2021-02-05 Philip Bille , Inge Li Gørtz , Max Rishøj Pedersen , Teresa Anna Steiner

Internal Pattern Matching (IPM) queries on a text $T$, given two fragments $X$ and $Y$ of $T$ such that $|Y|<2|X|$, ask to compute all exact occurrences of $X$ within $Y$. IPM queries have been introduced by Kociumaka, Radoszewski, Rytter,…

Data Structures and Algorithms · Computer Science 2025-03-06 Anouk Duyster , Tomasz Kociumaka

Random access to highly compressed strings -- represented by straight-line programs or Lempel-Ziv parses, for example -- is a well-studied topic. Random access to such strings in strongly sublogarithmic time is impossible in the worst case,…

Data Structures and Algorithms · Computer Science 2026-02-05 Ferdinando Cicalese , Zsuzsanna Lipták , Travis Gagie , Gonzalo Navarro , Nicola Prezza , Cristian Urbina

We introduce a data structure for counting pattern occurrences in texts compressed with any run-length context-free grammar. Our structure uses space proportional to the grammar size and counts the occurrences of a pattern of length $m$ in…

Data Structures and Algorithms · Computer Science 2025-01-30 Gonzalo Navarro , Alejandro Pacheco

We study the problem of enumerating the answers to a query formulated in monadic second order logic (MSO) over an unranked forest F that is compressed by a straight-line program (SLP) D. Our main result states that this can be done after…

Formal Languages and Automata Theory · Computer Science 2026-03-17 Markus Lohrey , Markus L. Schmid

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

In this paper we present a new parsing algorithm for linear indexed grammars (LIGs) in the same spirit as the one described in (Vijay-Shanker and Weir, 1993) for tree adjoining grammars. For a LIG $L$ and an input string $x$ of length $n$,…

cmp-lg · Computer Science 2008-02-03 Pierre Boullier

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

Packing several characters into one computer word is a simple and natural way to compress the representation of a string and to speed up its processing. Exploiting this idea, we propose an index for a packed string, based on a {\em sparse…

Data Structures and Algorithms · Computer Science 2015-03-19 Roman Kolpakov , Gregory Kucherov , Tatiana Starikovskaya

With the advent of Large Language Models (LLMs), generating rule-based data for real-world applications has become more accessible. Due to the inherent ambiguity of natural language and the complexity of rule sets, especially in long…

Computation and Language · Computer Science 2025-04-21 Teng Wang , Zhenqi He , Wing-Yin Yu , Xiaojin Fu , Xiongwei Han

We consider an index data structure for similar strings. The generalized suffix tree can be a solution for this. The generalized suffix tree of two strings $A$ and $B$ is a compacted trie representing all suffixes in $A$ and $B$. It has…

Data Structures and Algorithms · Computer Science 2013-05-09 Joong Chae Na , Heejin Park , Maxime Crochemore , Jan Holub , Costas S. Iliopoulos , Laurent Mouchard , Kunsoo Park

Suppose we want to seek the longest common subsequences (LCSs) of two strings as informative patterns that explain the relationship between the strings. The dynamic programming algorithm gives us a table from which all LCSs can be extracted…

Data Structures and Algorithms · Computer Science 2025-05-23 Yoshifumi Sakai

Enumerating the result set of a first-order query over a relational structure of bounded degree can be done with linear preprocessing and constant delay. In this work, we extend this result towards the compressed perspective where the…

Logic in Computer Science · Computer Science 2025-06-25 Markus Lohrey , Sebastian Maneth , Markus L. Schmid

Given a set of pattern strings $\mathcal{P}=\{P_1, P_2,\ldots P_k\}$ and a text string $S$, the classic dictionary matching problem is to report all occurrences of each pattern in $S$. We study the dictionary problem in the compressed…

Data Structures and Algorithms · Computer Science 2025-09-04 Philip Bille , Inge Li Gørtz , Simon J. Puglisi , Simon R. Tarnow

The most fundamental problem considered in algorithms for text processing is pattern matching: given a pattern $p$ of length $m$ and a text $t$ of length $n$, does $p$ occur in $t$? Multiple versions of this basic question have been…

Data Structures and Algorithms · Computer Science 2021-11-10 Moses Ganardi , Paweł Gawrychowski

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