English
Related papers

Related papers: Engineering Compact Data Structures for Rank and S…

200 papers

The wavelet tree (Grossi et al. [SODA, 2003]) and wavelet matrix (Claude et al. [Inf. Syst., 47:15--32, 2015]) are compact indices for texts over an alphabet $[0,\sigma)$ that support rank, select and access queries in $O(\lg \sigma)$ time.…

Data Structures and Algorithms · Computer Science 2017-11-13 Johannes Fischer , Florian Kurpicz , Marvin Löbel

Rank and select queries are basic operations on sequences, with applications in compressed text indexes and other space-efficient data structures. One of the standard data structures supporting these queries is the wavelet tree. In this…

Data Structures and Algorithms · Computer Science 2026-04-14 Eric Chiu , Dominik Kempa

A lattice is a partially-ordered set in which every pair of elements has a unique meet (greatest lower bound) and join (least upper bound). We present new data structures for lattices that are simple, efficient, and nearly optimal in terms…

Data Structures and Algorithms · Computer Science 2020-06-17 J. Ian Munro , Bryce Sandlund , Corwin Sinnamon

Large-alphabet strings are common in scenarios such as information retrieval and natural-language processing. The efficient storage and processing of such strings usually introduces several challenges that are not witnessed in…

Data Structures and Algorithms · Computer Science 2024-05-03 Diego Arroyuelo , Gabriel Carmona , Héctor Larrañaga , Francisco Riveros , Carlos Eugenio Rojas-Morales , Erick Sepúlveda

Given an array of size $n$ from a total order, we consider the problem of constructing a data structure that supports various queries (range minimum/maximum queries with their variants and next/previous larger/smaller queries) efficiently.…

Data Structures and Algorithms · Computer Science 2025-06-05 Seungbum Jo , Geunho Kim

We describe a data structure that stores a string $S$ in space similar to that of its Lempel-Ziv encoding and efficiently supports access, rank and select queries. These queries are fundamental for implementing succinct and compressed data…

Data Structures and Algorithms · Computer Science 2014-12-03 Djamal Belazzougui , Travis Gagie , Paweł Gawrychowski , Juha Kärkkäinen , Alberto Ordóñez , Simon J. Puglisi , Yasuo Tabei

We show how to construct a dynamic ordered dictionary, supporting insert/delete/rank/select on a set of $n$ elements from a universe of size $U$, that achieves the optimal amortized expected time complexity of $O(1 + \log n / \log \log U)$,…

Data Structures and Algorithms · Computer Science 2025-10-23 William Kuszmaul , Jingxun Liang , Renfei Zhou

Given a text, a query $\mathsf{rank}(q, c)$ counts the number of occurrences of character $c$ among the first $q$ characters of the text. Space-efficient methods to answer these rank queries form an important building block in many succinct…

Data Structures and Algorithms · Computer Science 2026-04-02 R. Groot Koerkamp

In this paper, a new and novel data structure is proposed to dynamically insert and delete segments. Unlike the standard segment trees[3], the proposed data structure permits insertion of a segment with interval range beyond the interval…

Computational Geometry · Computer Science 2015-01-15 K. S. Easwarakumar , T. Hema

The era of Big Data has spawned unprecedented interests in developing hashing algorithms for efficient storage and fast nearest neighbor search. Most existing work learn hash functions that are numeric quantizations of feature values in…

Machine Learning · Computer Science 2015-03-23 Kai Li , Guojun Qi , Jun Ye , Kien A. Hua

We consider the problem of representing, in a compressed format, a bit-vector $S$ of $m$ bits with $n$ 1s, supporting the following operations, where $b \in \{0, 1 \}$: $rank_b(S,i)$ returns the number of occurrences of bit $b$ in the…

Data Structures and Algorithms · Computer Science 2009-02-17 Roberto Grossi , Alessio Orlandi , Rajeev Raman , S. Srinivasa Rao

The suffix array is an efficient data structure for in-memory pattern search. Suffix arrays can also be used for external-memory pattern search, via two-level structures that use an internal index to identify the correct block of suffix…

Data Structures and Algorithms · Computer Science 2013-03-27 Simon Gog , Alistair Moffat , J. Shane Culpepper , Andrew Turpin , Anthony Wirth

We consider the problem of designing a succinct data structure for {\it path graphs} (which are a proper subclass of chordal graphs and a proper superclass of interval graphs) on $n$ vertices while supporting degree, adjacency, and…

Data Structures and Algorithms · Computer Science 2023-03-03 Girish Balakrishnan , Sankardeep Chakraborty , N S Narayanaswamy , Kunihiko Sadakane

We introduce the lazy search tree data structure. The lazy search tree is a comparison-based data structure on the pointer machine that supports order-based operations such as rank, select, membership, predecessor, successor, minimum, and…

Data Structures and Algorithms · Computer Science 2020-10-20 Bryce Sandlund , Sebastian Wild

We consider preprocessing a set $S$ of $n$ points in convex position in the plane into a data structure supporting queries of the following form: given a point $q$ and a directed line $\ell$ in the plane, report the point of $S$ that is…

Computational Geometry · Computer Science 2017-10-16 Boris Aronov , Prosenjit Bose , Erik D. Demaine , Joachim Gudmundsson , John Iacono , Stefan Langerman , Michiel Smid

The (fast) component-by-component (CBC) algorithm is an efficient tool for the construction of generating vectors for quasi-Monte Carlo rank-1 lattice rules in weighted reproducing kernel Hilbert spaces. We consider product weights, which…

Numerical Analysis · Mathematics 2017-11-06 Adrian Ebert , Hernan Leövey , Dirk Nuyens

The Fenwick tree is a classical implicit data structure that stores an array in such a way that modifying an element, accessing an element, computing a prefix sum and performing a predecessor search on prefix sums all take logarithmic time.…

Data Structures and Algorithms · Computer Science 2019-10-15 Stefano Marchini , Sebastiano Vigna

Let S be a finite, ordered alphabet, and let x = x_1 x_2 ... x_n be a string over S. A "secondary index" for x answers alphabet range queries of the form: Given a range [a_l,a_r] over S, return the set I_{[a_l;a_r]} = {i |x_i \in [a_l;…

Databases · Computer Science 2008-11-19 Rasmus Pagh , S. Srinivasa Rao

Ranked document retrieval is a fundamental task in search engines. Such queries are solved with inverted indexes that require additional 45%-80% of the compressed text space, and take tens to hundreds of microseconds per query. In this…

Information Retrieval · Computer Science 2015-03-20 Nieves R. Brisaboa , Ana Cerdeira-Pena , Gonzalo Navarro , Oscar Pedreira

Given a partition of an n element set into equivalence classes, we consider time-space tradeoffs for representing it to support the query that asks whether two given elements are in the same equivalence class. This has various applications…

Data Structures and Algorithms · Computer Science 2013-06-19 Moshe Lewenstein , J. Ian Munro , Venkatesh Raman