English
Related papers

Related papers: In-Place Sparse Suffix Sorting

200 papers

Suffix trees and suffix arrays are two of the most widely used data structures for text indexing. Each uses linear space and can be constructed in linear time for polynomially sized alphabets. However, when it comes to answering queries…

Data Structures and Algorithms · Computer Science 2013-11-08 Richard Cole , Tsvi Kopelowitz , Moshe Lewenstein

The suffix array and the suffix tree are the two most fundamental data structures for string processing. For a length-$n$ text, however, they use $\Theta(n \log n)$ bits of space, which is often too costly. To address this, Grossi and…

Data Structures and Algorithms · Computer Science 2023-04-20 Dominik Kempa , Tomasz Kociumaka

A deterministic BSP algorithm for constructing the suffix array of a given string is presented, based on a technique which we call accelerated sampling. It runs in optimal O(n/p) local computation and communication, and requires a near…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-02-26 Matthew Felice Pace , Alexander Tiskin

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

The suffix tree is arguably the most fundamental data structure on strings: introduced by Weiner (SWAT 1973) and McCreight (JACM 1976), it allows solving a myriad of computational problems on strings in linear time. Motivated by its large…

Data Structures and Algorithms · Computer Science 2026-05-07 Ruben Becker , Davide Cenzato , Travis Gagie , Sung-Hwan Kim , Ragnar Groot Koerkamp , Giovanni Manzini , Nicola Prezza

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

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

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

We revisit the problem of finding shortest unique substring (SUS) proposed recently by [6]. We propose an optimal $O(n)$ time and space algorithm that can find an SUS for every location of a string of size $n$. Our algorithm significantly…

Data Structures and Algorithms · Computer Science 2014-01-14 Atalay Mert İleri , M. Oğuzhan Külekci , Bojian Xu

In the classic longest common substring (LCS) problem, we are given two strings $S$ and $T$, each of length at most $n$, over an alphabet of size $\sigma$, and we are asked to find a longest string occurring as a fragment of both $S$ and…

Data Structures and Algorithms · Computer Science 2025-11-18 Panagiotis Charalampopoulos , Tomasz Kociumaka , Jakub Radoszewski , Solon P. Pissis

We show that the Longest Common Prefix Array of a text collection of total size n on alphabet [1, {\sigma}] can be computed from the Burrows-Wheeler transformed collection in O(n log {\sigma}) time using o(n log {\sigma}) bits of working…

Data Structures and Algorithms · Computer Science 2019-01-23 Nicola Prezza , Giovanna Rosone

The Suffix Array is a classic text index enabling on-line pattern matching queries via simple binary search. The main drawback of the Suffix Array is that it takes linear space in the text's length, even if the text itself is extremely…

Data Structures and Algorithms · Computer Science 2025-03-19 Davide Cenzato , Lore Depuydt , Travis Gagie , Sung-Hwan Kim , Giovanni Manzini , Francisco Olivares , Nicola Prezza

Suffix Array (SA) is a cardinal data structure in many pattern matching applications, including data compression, plagiarism detection and sequence alignment. However, as the volumes of data increase abruptly, the construction of SA is not…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-16 Hsiang-Huang Wu , Chien-Min Wang , Hsuan-Chi Kuo , Wei-Chun Chung , Jan-Ming Ho

The Suffix Array SA(S) of a string S[1 ... n] is an array containing all the suffixes of S sorted by lexicographic order. The suffix array is one of the most well known indexing data structures, and it functions as a key tool in many string…

Data Structures and Algorithms · Computer Science 2020-07-15 Amihood Amir , Itai Boneh

The Suffix Array $SA_S[1\ldots n]$ of an $n$-length string $S$ is a lexicographically sorted array of the suffixes of $S$. The suffix array is one of the most well known and widely used data structures in string algorithms. We present a…

Data Structures and Algorithms · Computer Science 2021-12-24 Amihood Amir , Itai Boneh

We show how to modify the linear-time construction algorithm for suffix arrays based on induced sorting (Nong et al., DCC'09) such that it computes the array of longest common prefixes (LCP-array) as well. Practical tests show that this…

Data Structures and Algorithms · Computer Science 2011-01-19 Johannes Fischer

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

Spaced seeds are important tools for similarity search in bioinformatics, and using several seeds together often significantly improves their performance. With existing approaches, however, for each seed we keep a separate linear-size data…

Data Structures and Algorithms · Computer Science 2014-03-11 Travis Gagie , Giovanni Manzini , Daniel Valenzuela

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

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