Find the shortest path from a source to all other nodes in a weighted graph. Greedily picks the nearest unvisited node and relaxes its edges.
// tap NEXT STEP to walk through one step at a time