Heaps Simplified
Bernhard Haeupler, Siddhartha Sen, and Robert E. Tarjan

TL;DR
This paper explores the design space of comparison-based, amortized-efficient heap implementations, introducing new variants and a simplified approach that combines performance with ease of understanding.
Contribution
It presents a simple derivation of binomial queues from tournaments, introduces two new heap variants, and develops the rank-pairing heap with improved performance guarantees.
Findings
Introduces the binomial queue in a natural way from tournaments.
Develops two new heap variants: one-tree and one-pass versions.
Creates the rank-pairing heap, combining Fibonacci heap performance with simplicity.
Abstract
The heap is a basic data structure used in a wide variety of applications, including shortest path and minimum spanning tree algorithms. In this paper we explore the design space of comparison-based, amortized-efficient heap implementations. From a consideration of dynamic single-elimination tournaments, we obtain the binomial queue, a classical heap implementation, in a simple and natural way. We give four equivalent ways of representing heaps arising from tournaments, and we obtain two new variants of binomial queues, a one-tree version and a one-pass version. We extend the one-pass version to support key decrease operations, obtaining the {\em rank-pairing heap}, or {\em rp-heap}. Rank-pairing heaps combine the performance guarantees of Fibonacci heaps with simplicity approaching that of pairing heaps. Like pairing heaps, rank-pairing heaps consist of trees of arbitrary structure,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAlgorithms and Data Compression · Network Packet Processing and Optimization · Complexity and Algorithms in Graphs
