English
Related papers

Related papers: Random input helps searching predecessors

200 papers

We present a randomized algorithm for dynamic graph connectivity. With failure probability less than $1/n^c$ (for any constant $c$ we choose), our solution has worst case running time $O(\log^3 n)$ per edge insertion, $O(\log^4 n)$ per edge…

Data Structures and Algorithms · Computer Science 2015-10-16 Zhengyu Wang

We study the classical problem of moment estimation of an underlying vector whose $n$ coordinates are implicitly defined through a series of updates in a data stream. We show that if the updates to the vector arrive in the random-order…

Data Structures and Algorithms · Computer Science 2022-07-08 David P. Woodruff , Samson Zhou

We describe fully retroactive dynamic data structures for approximate range reporting and approximate nearest neighbor reporting. We show how to maintain, for any positive constant $d$, a set of $n$ points in $\R^d$ indexed by time such…

Computational Geometry · Computer Science 2011-09-05 Michael T. Goodrich , Joseph A. Simons

While operations {\em rank} and {\em select} on static bitvectors can be supported in constant time, lower bounds show that supporting updates raises the cost per operation to $\Theta(\log n/ \log\log n)$ on bitvectors holding $n$ bits.…

Data Structures and Algorithms · Computer Science 2025-05-22 Gonzalo Navarro

We consider the predecessor problem on the ultra-wide word RAM model of computation, which extends the word RAM model with 'ultrawords' consisting of $w^2$ bits [TAMC, 2015]. The model supports arithmetic and boolean operations on…

Data Structures and Algorithms · Computer Science 2022-08-01 Philip Bille , Inge Li Gørtz , Tord Stordalen

This paper studies the \emph{subset sampling} problem. The input is a set $\mathcal{S}$ of $n$ records together with a function $\textbf{p}$ that assigns each record $v\in\mathcal{S}$ a probability $\textbf{p}(v)$. A query returns a random…

Data Structures and Algorithms · Computer Science 2023-07-24 Jinchao Huang , Sibo Wang

The distinct elements problem is one of the fundamental problems in streaming algorithms --- given a stream of integers in the range $\{1,\ldots,n\}$, we wish to provide a $(1+\varepsilon)$ approximation to the number of distinct elements…

Data Structures and Algorithms · Computer Science 2019-01-07 Jarosław Błasiok

We develop dynamic data structures for maintaining a hierarchical k-center clustering when the points come from a discrete space $\{1,\ldots,\Delta\}^d$. Our first data structure is for the low dimensional setting, i.e., d is a constant,…

Data Structures and Algorithms · Computer Science 2019-08-08 Melanie Schmidt , Christian Sohler

The random access problem for compressed strings is to build a data structure that efficiently supports accessing the character in position $i$ of a string given in compressed form. Given a grammar of size $n$ compressing a string of size…

Data Structures and Algorithms · Computer Science 2015-01-27 Patrick Hagge Cording

A classical problem in random number generation is the sampling of elements from a given discrete distribution. Formally, given a set of indices $S = \{1, \dots, n\}$ and sequence of weights $w_1, \dots, w_n \in \mathbb{R}^+$, the task is…

Data Structures and Algorithms · Computer Science 2023-10-19 Daniel Allendorf

Given n elements with nonnegative integer weights w1,..., wn and an integer capacity C, we consider the counting version of the classic knapsack problem: find the number of distinct subsets whose weights add up to at most the given…

Data Structures and Algorithms · Computer Science 2010-08-11 Daniel Stefankovic , Santosh Vempala , Eric Vigoda

It is known for some time that a random graph $G(n,p)$ contains w.h.p. a Hamiltonian cycle if $p$ is larger than the critical value $p_{crit}= (\log n + \log \log n + \omega_n)/n$. The determination of a concrete Hamiltonian cycle is even…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-05-18 Volker Turau

We consider the problem of sorting $n$ items, given the outcomes of $m$ pre-existing comparisons. We present a simple and natural deterministic algorithm that runs in $O(m + \log T)$ time and does $O(\log T)$ comparisons, where $T$ is the…

Data Structures and Algorithms · Computer Science 2026-05-06 Bernhard Haeupler , Richard Hladík , John Iacono , Vaclav Rozhon , Robert Tarjan , Jakub Tětek

Learned indexes leverage machine learning models to accelerate query answering in databases, showing impressive practical performance. However, theoretical understanding of these methods remains incomplete. Existing research suggests that…

Databases · Computer Science 2024-10-23 Luis Croquevielle , Guang Yang , Liang Liang , Ali Hadian , Thomas Heinis

For nearly six decades, the central open question in the study of hash tables has been to determine the optimal achievable tradeoff curve between time and space. State-of-the-art hash tables offer the following guarantee: If keys/values are…

Data Structures and Algorithms · Computer Science 2021-11-05 Michael A. Bender , Martín Farach-Colton , John Kuszmaul , William Kuszmaul , Mingmou Liu

For a set $P$ of $n$ points in the plane and a value $r > 0$, the unit-disk range reporting problem is to construct a data structure so that given any query disk of radius $r$, all points of $P$ in the disk can be reported efficiently. We…

Computational Geometry · Computer Science 2025-01-03 Haitao Wang , Yiming Zhao

Given a string $S$ over an alphabet $\Sigma$, the 'string indexing problem' is to preprocess $S$ to subsequently support efficient pattern matching queries, i.e., given a pattern string $P$ report all the occurrences of $P$ in $S$. In this…

Data Structures and Algorithms · Computer Science 2023-01-24 Philip Bille , Johannes Fischer , Inge Li Gørtz , Max Rishøj Pedersen , Tord Joakim Stordalen

We present an improved solution to the Weighted Job Scheduling (WJS) problem. While the classical dynamic programming (DP) solution for $n$ jobs runs in $O(n \log(n))$ time due to comparison-based sorting and per-job binary search, we…

Data Structures and Algorithms · Computer Science 2025-10-27 Amit Joshi

The pairing heap is a simple "self-adjusting" implementation of a heap (priority queue). Inserting an item into a pairing heap or decreasing the key of an item takes O(1) time worst-case, as does melding two heaps. But deleting an item of…

Data Structures and Algorithms · Computer Science 2022-08-26 Corwin Sinnamon , Robert Tarjan

The authors recently gave an $n^{O(\log\log n)}$ time membership query algorithm for properly learning decision trees under the uniform distribution (Blanc et al., 2021). The previous fastest algorithm for this problem ran in $n^{O(\log…

Data Structures and Algorithms · Computer Science 2022-06-30 Guy Blanc , Jane Lange , Mingda Qiao , Li-Yang Tan