English
Related papers

Related papers: Update Query Time Trade-off for dynamic Suffix Arr…

200 papers

A dynamic dictionary is a data structure that maintains sets of cardinality at most $n$ from a given universe and supports insertions, deletions, and membership queries. A filter approximates membership queries with a one-sided error that…

Data Structures and Algorithms · Computer Science 2020-06-23 Ioana Oriana Bercea , Guy Even

We define a suffixient set for a text $T [1..n]$ to be a set $S$ of positions between 1 and $n$ such that, for any edge descending from a node $u$ to a node $v$ in the suffix tree of $T$, there is an element $s \in S$ such that $u$'s path…

Data Structures and Algorithms · Computer Science 2024-06-06 Lore Depuydt , Travis Gagie , Ben Langmead , Giovanni Manzini , Nicola Prezza

The B-tree is a fundamental secondary index structure that is widely used for answering one-dimensional range reporting queries. Given a set of $N$ keys, a range query can be answered in $O(\log_B \nm + \frac{K}{B})$ I/Os, where $B$ is the…

Data Structures and Algorithms · Computer Science 2008-11-27 Ke Yi

We revisit two well-known algorithmic problems on strings: computing a shortest unique substring (SUS) and a shortest absent substring (SAS) of a string $S$ of length $n$. Both problems admit folklore $\mathcal{O}(n)$-time solutions using…

Data Structures and Algorithms · Computer Science 2026-05-07 Panagiotis Charalampopoulos , Manal Mohamed , Solon P. Pissis , Hilde Verbeek , Wiktor Zuba

Given a string $S$ of length $n$, the classic string indexing problem is to preprocess $S$ into a compact data structure that supports efficient subsequent pattern queries. In this paper we consider the basic variant where the pattern is…

Data Structures and Algorithms · Computer Science 2024-02-15 Philip Bille , Inge Li Gørtz , Teresa Anna Steiner

The problem of Text Indexing is a fundamental algorithmic problem in which one wishes to preprocess a text in order to quickly locate pattern queries within the text. In the ever evolving world of dynamic and on-line data, there is also a…

Data Structures and Algorithms · Computer Science 2012-08-21 Tsvi Kopelowitz

The membership problem asks to maintain a set $S\subseteq[u]$, supporting insertions and membership queries, i.e., testing if a given element is in the set. A data structure that computes exact answers is called a dictionary. When a (small)…

Data Structures and Algorithms · Computer Science 2020-04-28 Mingmou Liu , Yitong Yin , Huacheng Yu

We present the first worst-case linear time algorithm that directly computes the parameterized suffix and LCP arrays for constant sized alphabets. Previous algorithms either required quadratic time or the parameterized suffix tree to be…

Data Structures and Algorithms · Computer Science 2019-06-04 Noriki Fujisato , Yuto Nakashima , Shunsuke Inenaga , Hideo Bannai , Masayuki Takeda

Document listing on string collections is the task of finding all documents where a pattern appears. It is regarded as the most fundamental document retrieval problem, and is useful in various applications. Many of the fastest-growing…

Data Structures and Algorithms · Computer Science 2019-02-21 Dustin Cobas , Gonzalo Navarro

Dynamic analyses are a standard approach to analyzing and testing concurrent programs. Such techniques observe program traces and analyze them to infer the presence or absence of bugs. At its core, each analysis maintains a partial order…

Programming Languages · Computer Science 2024-04-01 Hünkar Can Tunç , Ameya Prashant Deshmukh , Berk Çirisci , Constantin Enea , Andreas Pavlogiannis

An integer array y = y[1..n] is said to be feasible if and only if y[1] = n and, for every i \in 2..n, i \le i+y[i] \le n+1. A string is said to be indeterminate if and only if at least one of its elements is a subset of cardinality greater…

Discrete Mathematics · Computer Science 2014-06-13 Manolis Christodoulakis , P. J. Ryan , W. F. Smyth , Shu Wang

In this paper we describe a data structure that supports pattern matching queries on a dynamically arriving text over an alphabet ofconstant size. Each new symbol can be prepended to $T$ in O(1) worst-case time. At any moment, we can report…

Data Structures and Algorithms · Computer Science 2013-07-09 Gregory Kucherov , Yakov Nekrich

Consistent hashing is a technique that can minimize key remapping when the number of hash buckets changes. The paper proposes a fast consistent hash algorithm (called power consistent hash) that has $O(1)$ expected time for key lookup,…

Data Structures and Algorithms · Computer Science 2023-12-29 Eric Leu

We characterize those strings whose suffix arrays are based on arithmetic progressions, in particular, arithmetically progressed permutations where all pairs of successive entries of the permutation have the same difference modulo the…

Combinatorics · Mathematics 2021-07-07 Jacqueline W. Daykin , Dominik Köppl , David Kübel , Florian Stober

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 a fully dynamic data structure for the maintenance of lower envelopes of pseudo-lines. The structure has $O(\log^2 n)$ update time and $O(\log n)$ vertical ray shooting query time. To achieve this performance, we devise a new…

Computational Geometry · Computer Science 2019-03-26 Pankaj K. Agarwal , Ravid Cohen , Dan Halperin , Wolfgang Mulzer

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

We propose a simple linear-time on-line algorithm for constructing a position heap for a string [Ehrenfeucht et al, 2011]. Our definition of position heap differs slightly from the one proposed in [Ehrenfeucht et al, 2011] in that it…

Data Structures and Algorithms · Computer Science 2015-03-19 Gregory Kucherov

The Lempel-Ziv 77 (LZ77) factorization is a fundamental compression scheme widely used in text processing and data compression. In this work, we investigate the time complexity of maintaining the LZ77 factorization of a dynamic string. By…

Data Structures and Algorithms · Computer Science 2025-10-28 Itai Boneh , Shay Golan , Matan Kraus

We introduce streaming data string transducers that map input data strings to output data strings in a single left-to-right pass in linear time. Data strings are (unbounded) sequences of data values, tagged with symbols from a finite set,…

Programming Languages · Computer Science 2011-02-15 Rajeev Alur , Pavol Cerny