performs Dijsktra's algorithm on the given graph from the given start the graph is a positively-weighted directed graph returns a map that for each reachable vertex associates the distance and the predecessor since the start has no predecessor but is reachable, map[start] will be None Time: O(E * logV). For each vertex, we traverse each edge, resulting in O(E). For each edge, we insert a new sho
(
graph: &Graph<V, E>,
start: V,
)