Dijkstra's Algorithm with a Binary Heap in O((m + 1) (⌊log₂ n⌋ + 1)) Time #
This file instantiates the black-box outer Dijkstra algorithm
(Cslib.Algorithms.WordRAM.Dijkstra.dijkstraCode_exec and
Cslib.Algorithms.WordRAM.Dijkstra.dijkstra_of_pq_spec) with the standalone word-RAM binary
min-heap package (Cslib.Algorithms.WordRAM.PriorityQueue.BinaryHeap.pkg) to obtain
Cslib.Algorithms.WordRAM.Dijkstra.LogLinearSpec and
Cslib.Algorithms.WordRAM.Dijkstra.LogLinearStatement with zero priority-queue code coupled to
Dijkstra's algorithm.
Main definitions #
Cslib.Algorithms.WordRAM.Dijkstra.heapDijkstra: structured exact-basis Dijkstra program instantiated withPriorityQueue.BinaryHeap.pqCode.
Main results #
Cslib.Algorithms.WordRAM.Dijkstra.heapDijkstra_spec: structured execution bound200 * (m + 1) * (⌊log₂ n⌋ + 1).Cslib.Algorithms.WordRAM.Dijkstra.logLinearSpec: compiled flat-program specificationLogLinearSpec (heapDijkstra.program OuterReg.zero) 230.Cslib.Algorithms.WordRAM.Dijkstra.logLinearStatement: the log-linear main theorem.
References #
Structured exact-basis Dijkstra program instantiated with the standalone binary min-heap.
Instances For
Correctness and running time of structured Dijkstra with a binary heap.
Dijkstra's algorithm with a binary heap in O((m + 1) (⌊log₂ n⌋ + 1)) time. The
compiled program meets Cslib.Algorithms.WordRAM.Dijkstra.LogLinearSpec with K = 230.
Log-linear main theorem. Some word-RAM program over the exact basis computes all
shortest-path distances from the source of a weighted directed graph with n vertices and m
edges, given by adjacency lists, within O((m + 1) (⌊log₂ n⌋ + 1)) instructions.