English
Related papers

Related papers: A Simpler Proof that Pairing Heaps Take O(1) Amort…

200 papers

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

This article introduces a new optimization method to improve mergesort's runtime complexity, when sorting sequences that have equal keys to $O(n log_2 k)$, where $k$ is the number of distinct keys in the sequence. When $k$ is constant, it…

Data Structures and Algorithms · Computer Science 2020-12-17 Albert Tedja

A Fibonacci heap is a deterministic data structure implementing a priority queue with optimal amortized operation costs. An unfortunate aspect of Fibonacci heaps is that they must maintain a "mark bit" which serves only to ensure efficiency…

Data Structures and Algorithms · Computer Science 2015-02-19 Jerry Li , John Peebles

For many data-processing applications, a comprehensive set of efficient operations for the management of priority values is required. Indexed priority queues are particularly promising to satisfy this requirement by design. In this work, we…

Data Structures and Algorithms · Computer Science 2023-12-07 Christian Loeffeld

Enumeration algorithms have been one of recent hot topics in theoretical computer science. Different from other problems, enumeration has many interesting aspects, such as the computation time can be shorter than the total output size, by…

Data Structures and Algorithms · Computer Science 2014-07-16 Takeaki Uno

Traditional Insertion Sort runs in O(n^2) time because each insertion takes O(n) time. When people run Insertion Sort in the physical world, they leave gaps between items to accelerate insertions. Gaps help in computers as well. This paper…

Data Structures and Algorithms · Computer Science 2007-05-23 Michael A. Bender , Martin Farach-Colton , Miguel Mosteiro

Motivated by an application in computational topology, we consider a novel variant of the problem of efficiently maintaining dynamic rooted trees. This variant requires merging two paths in a single operation. In contrast to the standard…

Data Structures and Algorithms · Computer Science 2007-11-13 Loukas Georgiadis , Haim Kaplan , Nira Shafrir , Robert E. Tarjan , Renato F. Werneck

This paper presents a general technique for optimally transforming any dynamic data structure that operates on atomic and indivisible keys by constant-time comparisons, into a data structure that handles unbounded-length keys whose…

Data Structures and Algorithms · Computer Science 2013-06-04 Amihood Amir , Gianni Franceschini , Roberto Grossi , Tsvi Kopelowitz , Moshe Lewenstein , Noa Lewenstein

Naively storing a counter up to value $n$ would require $\Omega(\log n)$ bits of memory. Nelson and Yu [NY22], following work of [Morris78], showed that if the query answers need only be $(1+\epsilon)$-approximate with probability at least…

Data Structures and Algorithms · Computer Science 2022-11-09 Ishaq Aden-Ali , Yanjun Han , Jelani Nelson , Huacheng Yu

Given two rooted, ordered, and labeled trees $P$ and $T$ the tree inclusion problem is to determine if $P$ can be obtained from $T$ by deleting nodes in $T$. This problem has recently been recognized as an important query primitive in XML…

Data Structures and Algorithms · Computer Science 2011-01-19 Philip Bille , Inge Li Goertz

We present a new threshold phenomenon in data structure lower bounds where slightly reduced update times lead to exploding query times. Consider incremental connectivity, letting t_u be the time to insert an edge and t_q be the query time.…

Data Structures and Algorithms · Computer Science 2011-03-29 Mihai Patrascu , Mikkel Thorup

We present a new non-blocking doubly-linked list implementation for an asynchronous shared-memory system. It is the first such implementation for which an upper bound on amortized time complexity has been proved. In our implementation,…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-08-11 Niloufar Shafiei

This paper describes a heap construction that supports insert and delete operations in arbitrary (possibly illegitimate) states. After any sequence of at most O(m) heap operations, the heap state is guarantee to be legitimate, where m is…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Ted Herman , Toshimitsu Masuzawa

A \emph{resizable array} is an array that can \emph{grow} and \emph{shrink} by the addition or removal of items from its end, or both its ends, while still supporting constant-time \emph{access} to each item stored in the array given its…

Data Structures and Algorithms · Computer Science 2023-05-30 Robert E. Tarjan , Uri Zwick

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

We solve the dynamic Predecessor Problem with high probability (whp) in constant time, using only $n^{1+\delta}$ bits of memory, for any constant $\delta > 0$. The input keys are random wrt a wider class of the well studied and practically…

Data Structures and Algorithms · Computer Science 2011-04-25 D. Belazzougui , A. C. Kaporis , P. G. Spirakis

We consider the problem of sorting $n$ elements subject to persistent random comparison errors. In this problem, each comparison between two elements can be wrong with some fixed (small) probability $p$, and comparing the same pair of…

Data Structures and Algorithms · Computer Science 2025-08-28 Barbara Geissmann , Stefano Leucci , Chih-Hung Liu , Paolo Penna

A tree-packing is a collection of spanning trees of a graph. It has been a useful tool for computing the minimum cut in static, dynamic, and distributed settings. In particular, [Thorup, Comb. 2007] used them to obtain his dynamic min-cut…

Data Structures and Algorithms · Computer Science 2024-12-05 Tijn de Vos , Aleksander B. G. Christiansen

We are concentrating on reducing overhead of heaps based on comparisons with optimal worstcase behaviour. The paper is inspired by Strict Fibonacci Heaps [1], where G. S. Brodal, G. Lagogiannis, and R. E. Tarjan implemented the heap with…

Data Structures and Algorithms · Computer Science 2019-11-27 Vladan Majerech

A heap is a dynamic data structure that stores a set of labeled values under the following operations: pop returns the minimum value of the heap, Push($x_i$) pushes a new value $x_i$ onto the heap, and DecreaseKey($i$, $v$) decreases the…

Data Structures and Algorithms · Computer Science 2026-04-28 Ivor van der Hoog , John Iacono , Eva Rotenberg , Daniel Rutschmann