Table of Contents
Fetching ...

Partition-based Simple Heaps

Gerth Stølting Brodal, John Iacono, Casper Moldrup Rysgaard, Sebastian Wild

TL;DR

A new family of priority-queue data structures: partition-based simple heaps that require nothing beyond binary search over elements, as well as binary partitions and concatenations of linked lists in natural ways as the linked lists get too big or small.

Abstract

We introduce a new family of priority-queue data structures: partition-based simple heaps. The structures consist of $O(\log n)$ doubly-linked lists; order is enforced among data in different lists, but the individual lists are unordered. Our structures have amortized $O(\log n)$ time extract-min and amortized $O(\log \log n)$ time insert and decrease-key. The structures require nothing beyond binary search over $O(\log n)$ elements, as well as binary partitions and concatenations of linked lists in natural ways as the linked lists get too big or small. We present three different ways that these lists can be maintained in order to obtain the stated amortized running times.

Partition-based Simple Heaps

TL;DR

A new family of priority-queue data structures: partition-based simple heaps that require nothing beyond binary search over elements, as well as binary partitions and concatenations of linked lists in natural ways as the linked lists get too big or small.

Abstract

We introduce a new family of priority-queue data structures: partition-based simple heaps. The structures consist of doubly-linked lists; order is enforced among data in different lists, but the individual lists are unordered. Our structures have amortized time extract-min and amortized time insert and decrease-key. The structures require nothing beyond binary search over elements, as well as binary partitions and concatenations of linked lists in natural ways as the linked lists get too big or small. We present three different ways that these lists can be maintained in order to obtain the stated amortized running times.
Paper Structure (25 sections, 1 theorem, 6 equations, 5 figures)

This paper contains 25 sections, 1 theorem, 6 equations, 5 figures.

Key Result

Lemma 3.1

Suppose after applying rule (C), we have sets $S_{1},\ldots, S_{\ell}$, with $\left| S_{j} \right| \ge 1$ for all $1 \leq j \leq \ell$. Then $\ell \le 2 \lg n + 1$, for $n$ the total size of the sets.

Figures (5)

  • Figure 1: Illustration of our partition-based heap framework. The pivots $p_2\ldots,p_\ell$ partition the $n$ elements in the heap into sets $\ell$ sets $S_1, S_2, \ldots, S_\ell$. Black dots are the $n$ elements in the heap. Pivots can be elements in the heap (black) or elements previously removed from the heap (white).
  • Figure 2: The pivot-forgetting rule for sets in LP heaps. Here, the lists for sets $S_{i-1}$ and $S_{i}$ would be concatenated (thus forgetting $p_i$) since there are more elements smaller than $p_{i-1}$ than between $p_{i-1}$ and $p_{i+1}$.
  • Figure 3: LP heaps implementation.
  • Figure 4: Sketch of the sets of an LP heap and the partition of $S_{1}$ into ${ }}=0_{1}}$ and ${ }}=0_{2}}$ in Delete-Min.
  • Figure 5: Illustration of a next generation Fibonacci heap. While each set is stored as a linked list, this illustration uses colors to show the relationship between each list's size, the Fibonacci numbers, and the size potential function.

Theorems & Definitions (1)

  • Lemma 3.1: (C) implies (S)