What are the advantages and disadvantages of A* search and Dijkstra's algorithm? When should each be used?
In what step of Dijkstra's algorithm's proof do we useful the crucial fact that the edges are non-negative?