Shortest Path, and Heaps

As if we haven't assigned enough already, in addition we would like you to implement a Dijkstra's algorithm. What's that I hear? Yes... that's right, a ghost of projects past... Dijkstra's is back, revived from 212. And, please, feel free to adopt and correctly attribute some Dijkstra code, as long as you understand how the algorithm works, as described below for completeness.

** IMPORTANT ** Although our edges are technically undirected, it is silly to rewrite Dijkstra's algorithm for undirected edges. So, you must implement your adjacency list as if the graph were bidirectional, with each vertex acting, alternately, as the start vertex so that Dijkstra's algorithm will work without modification. The rules about printing out lists of edges (roads) in descending asciibetical order do not apply to shortest path. The path should be printed in the order that the vertices occur in the path.



Subsections

MM Hugue 2017-10-12