English
Related papers

Related papers: Wavelet Trees Meet Suffix Trees

200 papers

An indexed sequence of strings is a data structure for storing a string sequence that supports random access, searching, range counting and analytics operations, both for exact matches and prefix search. String sequences lie at the core of…

Data Structures and Algorithms · Computer Science 2012-04-17 Roberto Grossi , Giuseppe Ottaviano

Under the word RAM model, we design three data structures that can be constructed in $O(n\sqrt{\lg n})$ time over $n$ points in an $n \times n$ grid. The first data structure is an $O(n\lg^{\epsilon} n)$-word structure supporting orthogonal…

Data Structures and Algorithms · Computer Science 2020-06-23 Younan Gao , Meng He , Yakov Nekrich

In this paper, we provide algorithms to rank, unrank, and randomly generate certain degree-restricted classes of Cayley trees. Specifically, we consider classes of trees that have a given degree sequence or a given multiset of degrees. If…

Combinatorics · Mathematics 2010-09-13 Jeffery B. Remmel , S. Gill Williamson

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

Let $w$ be a string of length $n$. The problem of counting factors crossing a position - Problem 64 from the textbook ``125 Problems in Text Algorithms'' [Crochemore, Leqroc, and Rytter, 2021], asks to count the number $\mathcal{C}(w,k)$…

Data Structures and Algorithms · Computer Science 2025-07-01 Haruki Umezaki , Hiroki Shibata , Dominik Köppl , Yuto Nakashima , Shunsuke Inenaga , Hideo Bannai

We show that the number of distinct squares in a packed string of length $n$ over an alphabet of size $\sigma$ can be computed in $O(n/\log_\sigma n)$ time in the word-RAM model. This paper is the first to introduce a sublinear-time…

Data Structures and Algorithms · Computer Science 2025-09-03 Panagiotis Charalampopoulos , Manal Mohamed , Jakub Radoszewski , Wojciech Rytter , Tomasz Waleń , Wiktor Zuba

We consider the classical problem of sorting an input array containing $n$ elements, where each element is described with a $k$-bit comparison-key and a $w$-bit payload. A long-standing open problem is whether there exist $(k + w) \cdot o(n…

Data Structures and Algorithms · Computer Science 2020-10-28 Gilad Asharov , Wei-Kai Lin , Elaine Shi

We present an algorithm which computes the Lempel-Ziv factorization of a word $W$ of length $n$ on an alphabet $\Sigma$ of size $\sigma$ online in the following sense: it reads $W$ starting from the left, and, after reading each $r =…

Data Structures and Algorithms · Computer Science 2012-12-03 Tatiana Starikovskaya

This paper considers the \textit{minimum spanning tree (MST)} problem in the Congested Clique model and presents an algorithm that runs in $O(\log \log \log n)$ rounds, with high probability. Prior to this, the fastest MST algorithm in this…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-12-09 Sriram V. Pemmaraju , Vivek B. Sardeshmukh

A trie $\mathcal{T}$ is a rooted tree such that each edge is labeled by a single character from the alphabet, and the labels of out-going edges from the same node are mutually distinct. Given a trie $\mathcal{T}$ with $n$ edges, we show how…

Data Structures and Algorithms · Computer Science 2022-11-11 Takuya Mieno , Mitsuru Funakoshi , Shunsuke Inenaga

We present parallel algorithms for wavelet tree construction with polylogarithmic depth, improving upon the linear depth of the recent parallel algorithms by Fuentes-Sepulveda et al. We experimentally show on a 40-core machine with two-way…

Data Structures and Algorithms · Computer Science 2016-11-15 Julian Shun

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

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

In this paper we propose a graph-based data clustering algorithm which is based on exact clustering of a minimum spanning tree in terms of a minimum isoperimetry criteria. We show that our basic clustering algorithm runs in $O(n \log n)$…

Computer Vision and Pattern Recognition · Computer Science 2012-03-20 Amir Daneshgar , Ramin Javadi , Basir Shariat Razavi

We give an algorithm that takes as input an $n$-vertex graph $G$ and an integer $k$, runs in time $2^{O(k^2)} n^{O(1)}$, and outputs a tree decomposition of $G$ of width at most $k$, if such a decomposition exists. This resolves the…

Data Structures and Algorithms · Computer Science 2023-08-21 Tuukka Korhonen , Daniel Lokshtanov

In this paper we describe compressed indexes that support pattern matching queries for strings with wildcards. For a constant size alphabet our data structure uses $O(n\log^{\varepsilon}n)$ bits for any $\varepsilon>0$ and reports all…

Data Structures and Algorithms · Computer Science 2014-01-06 Moshe Lewenstein , Yakov Nekrich , Jeffrey Scott Vitter

Navarro and Sadakane [TALG 2014] gave a dynamic succinct data structure for storing an ordinal tree. The structure supports tree queries in either $O(\log n/\log\log n)$ or $O(\log n)$ time, and insertion or deletion of a single node in…

Data Structures and Algorithms · Computer Science 2018-05-30 Dekel Tsur

The Block Tree is a recently proposed data structure that reaches compression close to Lempel-Ziv while supporting efficient direct access to text substrings. In this paper we show how a self-index can be built on top of a Block Tree so…

Data Structures and Algorithms · Computer Science 2017-10-11 Gonzalo Navarro

Sorting is a foundational problem in computer science that is typically employed on sequences or total orders. More recently, a more general form of sorting on partially ordered sets (or posets), where some pairs of elements are…

Data Structures and Algorithms · Computer Science 2022-06-03 Jishnu Roychoudhury , Jatin Yadav

In this paper, we first consider the subpath convex hull query problem: Given a simple path $\pi$ of $n$ vertices, preprocess it so that the convex hull of any query subpath of $\pi$ can be quickly obtained. Previously, Guibas, Hershberger,…

Computational Geometry · Computer Science 2020-02-26 Haitao Wang