  This paper proves that Dijkstra's shortest-path algorithm is universally
optimal in both its running time and number of comparisons when combined with a
sufficiently efficient heap data structure.
  Universal optimality is a powerful beyond-worst-case performance guarantee
for graph algorithms that informally states that a single algorithm performs as
well as possible for every single graph topology. We give the first application
of this notion to any sequential algorithm.
  We design a new heap data structure with a working-set property guaranteeing
that the heap takes advantage of locality in heap operations. Our heap matches
the optimal (worst-case) bounds of Fibonacci heaps but also provides the
beyond-worst-case guarantee that the cost of extracting the minimum element is
merely logarithmic in the number of elements inserted after it instead of
logarithmic in the number of all elements in the heap. This makes the
extraction of recently added elements cheaper.
  We prove that our working-set property is sufficient to guarantee universal
optimality, specifically, for the problem of ordering vertices by their
distance from the source vertex: The locality in the sequence of heap
operations generated by any run of Dijkstra's algorithm on a fixed topology is
strong enough that one can couple the number of comparisons performed by any
heap with our working-set property to the minimum number of comparisons
required to solve the distance ordering problem on this topology.
