Chapter 43: Dijkstra’s Algorithm Challenges


Last updated


Last updated
public func getAllShortestPath(from source: Vertex<T>)
-> [Vertex<T> : [Edge<T>]] {
var pathsDict = [Vertex<T> : [Edge<T>]]() // 1
let pathsFromSource = shortestPath(from: source) // 2
for vertex in graph.vertices { // 3
let path = shortestPath(to: vertex, paths: pathsFromSource)
pathsDict[vertex] = path
}
return pathsDict // 4
}