Near-Optimal Heaps and Dijkstra on Pointer Machines

📅 2026-04-27
📈 Citations: 0
Influential: 0
📄 PDF

career value

254K/year
🤖 AI Summary
This work proposes a novel heap structure in the pointer machine model that incorporates the working-set property, achieving—for the first time—an amortized constant-time Push operation and a DecreaseKey operation in inverse-Ackermann time, α(n). Leveraging this heap, Dijkstra’s shortest-path algorithm attains near-optimal performance on the pointer machine: its running time exceeds the information-theoretic lower bound—dictated by the time required to sort distances—by only an additive O(m·α(m)) overhead. This result resolves a longstanding bottleneck in the pointer machine model, where efficient working-set heaps were previously unavailable, and establishes a new paradigm for optimizing graph algorithms under restricted computational models.

Technology Category

Application Category

📝 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($x_i$) pushes a new value $x_i$ onto the heap, and DecreaseKey($i$, $v$) decreases the value $x_i$ to $v$. A working-set heap is a heap that supports the $x_i \gets$ pop$()$ operation in $O(\log Γ(x_i) )$ time where $Γ(x_i)$ is the size of the \emph{working set}: the number of elements that were pushed onto the heap while $x_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))$ overhead compared to the optimal running time for distance ordering, where $m$ denotes the number of edges in the graph.
Problem

Research questions and friction points this paper is trying to address.

working-set heap
pointer machine
Dijkstra
DecreaseKey
amortized time
Innovation

Methods, ideas, or system contributions that make the work stand out.

working-set heap
pointer machine
inverse-Ackermann time
Dijkstra's algorithm
near-optimal data structure
🔎 Similar Papers
2023-11-20IEEE Annual Symposium on Foundations of Computer ScienceCitations: 12