English
Related papers

Related papers: Prefix Sorting DFAs: a Recursive Algorithm

200 papers

Suffix trees are key and efficient data structure for solving string problems. A suffix tree is a compressed trie containing all the suffixes of a given text of length $n$ with a linear construction cost. In this work, we introduce an…

Data Structures and Algorithms · Computer Science 2024-06-04 Anas Al-okaily

We study the fundamental question of how efficiently suffix array entries can be accessed when the array cannot be stored explicitly. The suffix array $SA_T[1..n]$ of a text $T$ of length $n$ encodes the lexicographic order of its suffixes…

Data Structures and Algorithms · Computer Science 2025-10-23 Dominik Kempa , Tomasz Kociumaka

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

Depth first search (DFS) tree is one of the most well-known data structures for designing efficient graph algorithms. Given an undirected graph $G=(V,E)$ with $n$ vertices and $m$ edges, the textbook algorithm takes $O(n+m)$ time to…

Data Structures and Algorithms · Computer Science 2018-02-21 Lijie Chen , Ran Duan , Ruosong Wang , Hanrui Zhang , Tianyi Zhang

Recently, Cenzato et al.\ proposed a new text index, called the \emph{suffixient array}, which is a subset of the suffix array and supports locating a single pattern occurrence or finding its maximal exact matches (MEMs), assuming random…

Data Structures and Algorithms · Computer Science 2026-05-07 Paola Bonizzoni , Younan Gao , Brian Riccardi

Given a text $T$ of length $n$, we propose a deterministic online algorithm computing the sparse suffix array and the sparse longest common prefix array of $T$ in $O(c \sqrt{\lg n} + m \lg m \lg n \lg^* n)$ time with $O(m)$ words of space…

Data Structures and Algorithms · Computer Science 2018-03-26 Johannes Fischer , Tomohiro I , Dominik Köppl

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

Given a string $T$, it is known that its suffix tree can be represented using the compact directed acyclic word graph (CDAWG) with $e_T$ arcs, taking overall $O(e_T+e_{{\overline{T}}})$ words of space, where ${\overline{T}}$ is the reverse…

Data Structures and Algorithms · Computer Science 2017-05-25 Djamal Belazzougui , Fabio Cunial

We revisit the classic border tree data structure [Gu, Farach, Beigel, SODA 1994] that answers the following prefix-suffix queries on a string $T$ of length $n$ over an integer alphabet $\Sigma=[0,\sigma)$: for any $i,j \in [0,n)$ return…

Data Structures and Algorithms · Computer Science 2024-11-07 Solon P. Pissis

We show that the compressed suffix array and the compressed suffix tree of a string $T$ can be built in $O(n)$ deterministic time using $O(n\log\sigma)$ bits of space, where $n$ is the string length and $\sigma$ is the alphabet size.…

Data Structures and Algorithms · Computer Science 2016-11-15 J. Ian Munro , Gonzalo Navarro , Yakov Nekrich

We present a new algorithm for maintaining a DFS tree of an arbitrary directed graph under any sequence of edge insertions. Our algorithm requires a total of $O(m\cdot n)$ time in the worst case to process a sequence of edge insertions,…

Data Structures and Algorithms · Computer Science 2022-02-24 Giorgio Ausiello , Paolo G. Franciosa , Giuseppe F. Italiano , Andrea Ribichini

The suffix array is the key to efficient solutions for myriads of string processing problems in different applications domains, like data compression, data mining, or Bioinformatics. With the rapid growth of available data, suffix array…

Data Structures and Algorithms · Computer Science 2016-10-11 Timo Bingmann , Simon Gog , Florian Kurpicz

Given the query string of length $m$, we explore a parallel query in a static suffix tree based data structure for $p \ll n$, where $p$ is the number of processors and $n$ is the length of the text. We present three results on CREW PRAM.…

Data Structures and Algorithms · Computer Science 2015-09-30 Matevž Jekovec , Andrej Brodnik

The suffix trees are fundamental data structures for various kinds of string processing. The suffix tree of a text string $T$ of length $n$ has $O(n)$ nodes and edges, and the string label of each edge is encoded by a pair of positions in…

Data Structures and Algorithms · Computer Science 2023-12-06 Diptarama Hendrian , Takuya Takagi , Shunsuke Inenaga , Keisuke Goto , Mitsuru Funakoshi

We present an improved wavelet tree construction algorithm and discuss its applications to a number of rank/select problems for integer keys and strings. Given a string of length n over an alphabet of size $\sigma\leq n$, our method builds…

Data Structures and Algorithms · Computer Science 2015-05-18 Maxim Babenko , Paweł Gawrychowski , Tomasz Kociumaka , Tatiana Starikovskaya

Neighborhood graphs are gaining popularity as a concise data representation in machine learning. However, naive graph construction by pairwise distance calculation takes $O(n^2)$ runtime for $n$ data points and this is prohibitively slow…

Data Structures and Algorithms · Computer Science 2009-04-22 Takeaki Uno , Masashi Sugiyama , Koji Tsuda

We introduce a compressed suffix array representation that, on a text $T$ of length $n$ over an alphabet of size $\sigma$, can be built in $O(n)$ deterministic time, within $O(n\log\sigma)$ bits of working space, and counts the number of…

Data Structures and Algorithms · Computer Science 2017-09-05 J. Ian Munro , Gonzalo Navarro , Yakov Nekrich

Suffix arrays and LCP arrays are one of the most fundamental data structures widely used for various kinds of string processing. We consider two problems for a read-only string of length $N$ over an integer alphabet $[1, \dots, \sigma]$ for…

Data Structures and Algorithms · Computer Science 2019-07-16 Keisuke Goto

We consider construction of the suffix tree and the directed acyclic word graph (DAWG) indexing data structures for a collection $\mathcal{T}$ of texts, where a new symbol may be appended to any text in $\mathcal{T} = \{T_1, \ldots, T_K\}$,…

Data Structures and Algorithms · Computer Science 2018-07-13 Takuya Takagi , Shunsuke Inenaga , Hiroki Arimura , Dany Breslauer , Diptarama Hendrian

Given two strings $T$ and $S$ and a set of strings $P$, for each string $p \in P$, consider the unique substrings of $T$ that have $p$ as their prefix and $S$ as their suffix. Two problems then come to mind; the first problem being the…

Data Structures and Algorithms · Computer Science 2022-04-19 Laurentius Leonard , Ken Tanaka