English
Related papers

Related papers: Optimal In-Place Suffix Sorting

200 papers

Let $\mathcal{D}$ be a collection of $D$ documents, which are strings over an alphabet of size $\sigma$, of total length $n$. We describe a data structure that uses linear space and and reports $k$ most relevant documents that contain a…

Data Structures and Algorithms · Computer Science 2013-08-02 Gonzalo Navarro , Yakov Nekrich

This paper presents a general technique for optimally transforming any dynamic data structure that operates on atomic and indivisible keys by constant-time comparisons, into a data structure that handles unbounded-length keys whose…

Data Structures and Algorithms · Computer Science 2013-06-04 Amihood Amir , Gianni Franceschini , Roberto Grossi , Tsvi Kopelowitz , Moshe Lewenstein , Noa Lewenstein

Although real-world text datasets, such as DNA sequences, are far from being uniformly random, average-case string searching algorithms perform significantly better than worst-case ones in most applications of interest. In this paper, we…

Data Structures and Algorithms · Computer Science 2018-01-16 Lorraine A. K. Ayad , Panagiotis Charalampopoulos , Costas S. Iliopoulos , Solon P. Pissis

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}$…

Data Structures and Algorithms · Computer Science 2015-06-24 Ali Alatabbi , Jacqueline W. Daykin , M. Sohel Rahman

We present a simple algorithm for computing the document array given a string collection and its suffix array as input. Our algorithm runs in linear time using constant additional space for strings from constant alphabets.

Data Structures and Algorithms · Computer Science 2020-09-10 Felipe A. Louza

We present the first in-place algorithm for sorting an array of size n that performs, in the worst case, at most O(n log n) element comparisons and O(n) element transports. This solves a long-standing open problem, stated explicitly, e.g.,…

Data Structures and Algorithms · Computer Science 2007-05-23 Gianni Franceschini , Viliam Geffert

Mergesort is one of the few efficient sorting algorithms and, despite being the oldest one, often still the method of choice today. In contrast to some alternative algorithms, it always runs efficiently using O(n log n) element comparisons…

Data Structures and Algorithms · Computer Science 2025-09-30 Christian Siebert

Most of the attention in statistical compression is given to the space used by the compressed sequence, a problem completely solved with optimal prefix codes. However, in many applications, the storage space used to represent the prefix…

Data Structures and Algorithms · Computer Science 2015-06-30 Travis Gagie , Gonzalo Navarro , Yakov Nekrich , Alberto Ordóñez

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

Two recent lower bounds on the compressibility of repetitive sequences, $\delta \le \gamma$, have received much attention. It has been shown that a length-$n$ string $S$ over an alphabet of size $\sigma$ can be represented within the…

Data Structures and Algorithms · Computer Science 2023-11-10 Tomasz Kociumaka , Gonzalo Navarro , Francisco Olivares

Read-only memory model is a classical model of computation to study time-space tradeoffs of algorithms. One of the classical results on the ROM model is that any sorting algorithm that uses O(s) words of extra space requires $\Omega…

Data Structures and Algorithms · Computer Science 2017-11-28 Sankardeep Chakraborty , Anish Mukherjee , Venkatesh Raman , Srinivasa Rao Satti

The problem of constructing optimal factoring automata arises in the context of unification factoring for the efficient execution of logic programs. Given an ordered set of $n$ strings of length $m$, the problem is to construct a trie-like…

Data Structures and Algorithms · Computer Science 2024-04-04 Thomas Erlebach , Kleitos Papadopoulos

Based on the Breslauer-Italiano online suffix tree construction algorithm (2013) with double logarithmic worst-case guarantees on the update time per letter, we develop near-real-time algorithms for several classical problems on strings,…

Data Structures and Algorithms · Computer Science 2026-02-18 Dominik Köppl , Gregory Kucherov

The selection problem, where one wishes to locate the $k^{th}$ smallest element in an unsorted array of size $n$, is one of the basic problems studied in computer science. The main focus of this work is designing algorithms for solving the…

Data Structures and Algorithms · Computer Science 2012-08-30 Tsvi Kopelowitz , Nimrod Talmon

A key principle in string processing is local consistency: using short contexts to handle matching fragments of a string consistently. String synchronizing sets [Kempa, Kociumaka; STOC 2019] are an influential instantiation of this…

Data Structures and Algorithms · Computer Science 2026-02-13 Jonas Ellert , Tomasz Kociumaka

Suppose that we are given a string $s$ of length $n$ over an alphabet $\{0,1,\ldots,n^{O(1)}\}$ and $\delta$ is the string complexity of $s$, a known compression measure. We describe an index on $s$ with $O(\delta\log\frac{n}{\delta})$…

Data Structures and Algorithms · Computer Science 2026-04-15 Dmitry Kosolobov

There is a high demand of space-efficient algorithms in built-in or embedded softwares. In this paper, we consider the problem of designing space-efficient algorithms for computing the maximum area empty rectangle (MER) among a set of…

Computational Geometry · Computer Science 2011-04-18 Minati De , Subhas C. Nandy

An initializable array is an array that supports the read and write operations for any element and the initialization of the entire array. This paper proposes a simple in-place algorithm to implement an initializable array of length $N$…

Data Structures and Algorithms · Computer Science 2022-03-31 Takashi Katoh , Keisuke Goto

We consider the problem of sorting $n$ elements subject to persistent random comparison errors. In this problem, each comparison between two elements can be wrong with some fixed (small) probability $p$, and comparing the same pair of…

Data Structures and Algorithms · Computer Science 2025-08-28 Barbara Geissmann , Stefano Leucci , Chih-Hung Liu , Paolo Penna

While modern general-purpose computing systems have ample amounts of memory, it is still the case that embedded computer systems, such as in a refrigerator, are memory limited; hence, such embedded systems motivate the need for strictly…

Data Structures and Algorithms · Computer Science 2026-03-09 Ofek Gila , Michael T. Goodrich , Vinesh Sridhar