English

Near-Optimal Heaps and Dijkstra on Pointer Machines

Data Structures and Algorithms 2026-04-28 v1

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(xix_i) pushes a new value xix_i onto the heap, and DecreaseKey(ii, vv) decreases the value xix_i to vv. A working-set heap is a heap that supports the xix_i \gets pop()() operation in O(logΓ(xi))O(\log \Gamma(x_i) ) time where Γ(xi)\Gamma(x_i) is the size of the \emph{working set}: the number of elements that were pushed onto the heap while xix_i 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 models, support working set heaps that support Push in amortized constant time and DecreaseKey in inverse-Ackermann time. A by-product of this analysis is that Dijkstra's shortest path algorithm can be near-universally optimal on a pointer machine -- incurring only an additive O(mα(m))O(m \, \alpha(m)) overhead compared to the optimal running time for distance ordering, where mm denotes the number of edges in the graph.

Keywords

Cite

@article{arxiv.2604.24134,
  title  = {Near-Optimal Heaps and Dijkstra on Pointer Machines},
  author = {Ivor van der Hoog and John Iacono and Eva Rotenberg and Daniel Rutschmann},
  journal= {arXiv preprint arXiv:2604.24134},
  year   = {2026}
}
R2 v1 2026-07-01T12:36:32.651Z