It is very unfortunate that the operations research and computer science
literatures do not make this important aspect of Dijkstra’s Algorithm clear.
Sniedovich (2006) discusses this point at length. On the other hand, Lew
(2006) shows how Dijkstra’s Algorithm can be viewed as a greedy algorithm
of a “ canonical ” type.