English
Related papers

Related papers: Prefix Sorting DFAs: a Recursive Algorithm

200 papers

A closed string $u$ is either of length one or contains a border that occurs only as a prefix and as a suffix in $u$ and nowhere else within $u$. In this paper, we present fast $\mathcal{O}(n\log n)$ time algorithms to compute all…

Data Structures and Algorithms · Computer Science 2026-01-12 Samkith K Jain , Neerja Mhaskar

The LCP array is an important tool in stringology, allowing to speed up pattern matching algorithms and enabling compact representations of the suffix tree. Recently, Conte et al. [DCC 2023] and Cotumaccio et al. [SPIRE 2023] extended the…

Data Structures and Algorithms · Computer Science 2024-04-23 Jarno Alanko , Davide Cenzato , Nicola Cotumaccio , Sung-Hwan Kim , Giovanni Manzini , Nicola Prezza

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

We present faster algorithms for computing the 2-edge and 2-vertex strongly connected components of a directed graph, which are straightforward generalizations of strongly connected components. While in undirected graphs the 2-edge and…

Data Structures and Algorithms · Computer Science 2018-03-02 Monika Henzinger , Sebastian Krinninger , Veronika Loitzenbauer

The longest common prefix (LCP) array is a versatile auxiliary data structure in indexed string matching. It can be used to speed up searching using the suffix array (SA) and provides an implicit representation of the topology of an…

Data Structures and Algorithms · Computer Science 2016-03-09 German Tischler

The suffix array is a classic full-text index, combining effectiveness with simplicity. We discuss three approaches aiming to improve its efficiency even more: changes to the navigation, data layout and adding extra data. In short, we show…

Data Structures and Algorithms · Computer Science 2016-07-28 Tomasz Kowalski , Szymon Grabowski , Kimmo Fredriksson , Marcin Raniszewski

We propose new succinct representations of ordinal trees, which have been studied extensively. It is known that any $n$-node static tree can be represented in $2n + o(n)$ bits and a number of operations on the tree can be supported in…

Data Structures and Algorithms · Computer Science 2010-09-27 Gonzalo Navarro , Kunihiko Sadakane

We revisit classic string problems considered in the area of parameterized complexity, and study them through the lens of dynamic data structures. That is, instead of asking for a static algorithm that solves the given instance efficiently,…

Data Structures and Algorithms · Computer Science 2022-05-03 Jędrzej Olkowski , Michał Pilipczuk , Mateusz Rychlicki , Karol Węgrzycki , Anna Zych-Pawlewicz

An occurrence of a repeated substring $u$ in a string $S$ is called a net occurrence if extending the occurrence to the left or to the right decreases the number of occurrences to 1. The net frequency (NF) of a repeated substring $u$ in a…

Data Structures and Algorithms · Computer Science 2026-01-01 Shunsuke Inenaga

In this paper we study the structure of suffix trees. Given an unlabeled tree $\tau$ on $n$ nodes and suffix links of its internal nodes, we ask the question "Is $\tau$ a suffix tree?", i.e., is there a string $S$ whose suffix tree has the…

Data Structures and Algorithms · Computer Science 2014-09-02 Tatiana Starikovskaya , Hjalte Wedel Vildhøj

This paper considers the existence of short synchronizing words in deterministic finite automata (DFAs). We define two general strategies for generating synchronizing words, and we show that each of these strategies can be applied if and…

Formal Languages and Automata Theory · Computer Science 2025-08-22 Peter Bradshaw , Alexander Clow , Ladislav Stacho

In this paper, we propose a novel algorithm to learn a B\"uchi automaton from a teacher who knows an $\omega$-regular language. The algorithm is based on learning a formalism named family of DFAs (FDFAs) recently proposed by Angluin and…

Formal Languages and Automata Theory · Computer Science 2017-01-18 Yong Li , Yu-Fang Chen , Lijun Zhang , Depeng Liu

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

A decision tree recursively splits a feature space $\mathbb{R}^{d}$ and then assigns class labels based on the resulting partition. Decision trees have been part of the basic machine-learning toolkit for decades. A large body of work treats…

The aim of this thesis is to present an extension to the string graphs of Dixon, Duncan and Kissinger that allows the finite representation of certain infinite families of graphs and graph rewrite rules, and to demonstrate that a logic can…

Logic in Computer Science · Computer Science 2014-04-01 Alexander Merry

We show how to build an alphabetic minimax tree for a sequence (W = w_1, >..., w_n) of real weights in (O (n d \log \log n)) time, where $d$ is the number of distinct integers (\lceil w_i \rceil). We apply this algorithm to building an…

Information Theory · Computer Science 2008-10-29 Travis Gagie

We first review how we can store a run-length compressed suffix array (RLCSA) for a text $T$ of length $n$ over an alphabet of size $\sigma$ whose Burrows-Wheeler Transform (BWT) consists of $r$ runs in $O \left( \rule{0ex}{2ex} r \log (n /…

Data Structures and Algorithms · Computer Science 2025-04-22 Nathaniel K. Brown , Travis Gagie , Giovanni Manzini , Gonzalo Navarro , Marinella Sciortino

We describe a framework for maintaining forest algebra representations that are of logarithmic height for unranked trees. Such representations can be computed in O(n) time and updated in O(log(n)) time. The framework is of potential…

Logic in Computer Science · Computer Science 2025-10-08 Sarah Kleest-Meißner , Jonas Marasus , Matthias Niewerth

We consider a sliding window $W$ over a stream of characters from some alphabet of constant size. The user wants to perform deterministic substring matching on the current sliding window content and obtain positions of the matches. We…

Data Structures and Algorithms · Computer Science 2018-09-07 Andrej Brodnik , Matevž Jekovec

The sorting operation is one of the most commonly used building blocks in computer programming. In machine learning, it is often used for robust statistics. However, seen as a function, it is piecewise linear and as a result includes many…

Machine Learning · Statistics 2020-07-01 Mathieu Blondel , Olivier Teboul , Quentin Berthet , Josip Djolonga