Near-Optimal Heaps and Dijkstra on Pointer Machines
Ivor van der Hoog, John Iacono, Eva Rotenberg, and Daniel Rutschmann

TL;DR
This paper introduces a near-optimal working set heap implementation on pointer machines, enabling efficient Dijkstra's algorithm with minimal overhead compared to the optimal running time.
Contribution
It demonstrates that pointer machines can support working set heaps with constant amortized Push and inverse-Ackermann DecreaseKey, leading to near-universal optimality of Dijkstra's algorithm.
Findings
Pointer machines support working set heaps with constant amortized Push.
DecreaseKey operations run in inverse-Ackermann time on pointer machines.
Dijkstra's algorithm is near-universally optimal with only an additive $O(m \, \alpha(m))$ overhead.
Abstract
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() pushes a new value onto the heap, and DecreaseKey(, ) decreases the value to . A working-set heap is a heap that supports the pop operation in time where is the size of the \emph{working set}: the number of elements that were pushed onto the heap while was in the heap. The goal of working set heap design is to maintain the working set property while minimizing the overhead of the Push and DecreaseKey operations. On a word RAM, there exist working set heaps that support Push and DecreaseKey in amortized constant time. In this paper, we show via a simple construction that pointer machines, one of the most general and least-assuming computational…
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.
