English
Related papers

Related papers: Rank-Select Indices Without Tears

200 papers

Rank and select queries on bitmaps are essential building bricks of many compressed data structures, including text indexes, membership and range supporting spatial data structures, compressed graphs, and more. Theoretically considered yet…

Data Structures and Algorithms · Computer Science 2016-05-13 Szymon Grabowski , Marcin Raniszewski

Given a string $S$ of length $N$ on a fixed alphabet of $\sigma$ symbols, a grammar compressor produces a context-free grammar $G$ of size $n$ that generates $S$ and only $S$. In this paper we describe data structures to support the…

Data Structures and Algorithms · Computer Science 2014-08-15 Djamal Belazzougui , Simon J. Puglisi , Yasuo Tabei

Given a string of length $n$ that is composed of $r$ runs of letters from the alphabet $\{0,1,\ldots,\sigma{-}1\}$ such that $2 \le \sigma \le r$, we describe a data structure that, provided $r \le n / \log^{\omega(1)} n$, stores the string…

Data Structures and Algorithms · Computer Science 2018-02-27 José Fuentes-Sepúlveda , Juha Kärkkäinen , Dmitry Kosolobov , Simon J. Puglisi

Given an $n$-bit array $A$, the succinct rank data structure problem asks to construct a data structure using space $n+r$ bits for $r\ll n$, supporting rank queries of form $\mathtt{rank}(x)=\sum_{i=0}^{x-1} A[i]$. In this paper, we design…

Data Structures and Algorithms · Computer Science 2019-04-08 Huacheng Yu

Sorting, a classical combinatorial process, forms the bedrock of numerous algorithms with varied applications. A related problem involves efficiently finding the corresponding ranks of all the elements - catering to rank queries, data…

Data Structures and Algorithms · Computer Science 2016-06-24 Sourav Dutta

Bit vectors are fundamental building blocks of many succinct data structures. They can be used to represent graphs, are an important part of many text indices in the form of the wavelet tree, and can be used to encode ordered sequences of…

Data Structures and Algorithms · Computer Science 2022-11-08 Florian Kurpicz

The rank problem in succinct data structures asks to preprocess an array A[1..n] of bits into a data structure using as close to n bits as possible, and answer queries of the form rank(k) = Sum_{i=1}^k A[i]. The problem has been intensely…

Data Structures and Algorithms · Computer Science 2009-07-08 Mihai Patrascu

Bit vectors with support for fast rank and select are a fundamental building block for compressed data structures. We close a gap between theory and practice by analyzing an important part of the design space and experimentally evaluating a…

Data Structures and Algorithms · Computer Science 2025-09-23 Florian Kurpicz , Niccolò Rigi-Luperti , Peter Sanders

Let $A$ be a static array storing $n$ elements from a totally ordered set. We present a data structure of optimal size at most $n\log_2(3+2\sqrt{2})+o(n)$ bits that allows us to answer the following queries on $A$ in constant time, without…

Data Structures and Algorithms · Computer Science 2011-02-03 Johannes Fischer

The problem of answering rank/select queries over a bitmap is of utmost importance for many succinct data structures. When the bitmap does not change, many solutions exist in the theoretical and practical side. In this work we consider the…

Data Structures and Algorithms · Computer Science 2022-02-08 Giulio Ermanno Pibiri , Shunsuke Kanda

A choice dictionary is a data structure that can be initialized with a parameter $n\in\{1,2,\ldots\}$ and subsequently maintains an initially empty subset $S$ of $\{1,\ldots,n\}$ under insertion, deletion, membership queries and an…

Data Structures and Algorithms · Computer Science 2017-11-03 Torben Hagerup

Given an array A[1: n] of n elements drawn from an ordered set, the sorted range selection problem is to build a data structure that can be used to answer the following type of queries efficiently: Given a pair of indices i, j $ (1\le i\le…

Data Structures and Algorithms · Computer Science 2025-04-22 Waseem Akram , Sanjeev Saxena

Rank/Select dictionaries are data structures for an ordered set $S \subset \{0,1,...,n-1\}$ to compute $\rank(x,S)$ (the number of elements in $S$ which are no greater than $x$), and $\select(i,S)$ (the $i$-th smallest element in $S$),…

Data Structures and Algorithms · Computer Science 2007-05-23 Daisuke Okanohara , Kunihiko Sadakane

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

The choice dictionary is introduced as a data structure that can be initialized with a parameter $n\in\mathbb{N}=\{1,2,\ldots\}$ and subsequently maintains an initially empty subset $S$ of $\{1,\ldots,n\}$ under insertion, deletion,…

Data Structures and Algorithms · Computer Science 2017-03-17 Torben Hagerup , Frank Kammer

It is well known that n integers in the range [1,n^c] can be sorted in O(n) time in the RAM model using radix sorting. More generally, integers in any range [1,U] can be sorted in O(n sqrt{loglog n}) time. However, these algorithms use O(n)…

Data Structures and Algorithms · Computer Science 2007-06-29 Gianni Franceschini , S. Muthukrishnan , Mihai Patrascu

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

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

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

A fundamental algorithm for selecting ranks from a finite subset of an ordered set is Radix Selection. This algorithm requires the data to be given as strings of symbols over an ordered alphabet, e.g., binary expansions of real numbers. Its…

Probability · Mathematics 2017-10-04 Kevin Leckey , Ralph Neininger , Henning Sulzbach
‹ Prev 1 2 3 10 Next ›