问题
Algorithms like the Bellman-Ford algorithm and Dijkstra's algorithm exist to find the shortest path from a single starting vertex on a graph to every other vertex. However, in the program I'm writing, the starting vertex changes a lot more often than the destination vertex does. What algorithm is there that does the reverse--that is, given a single destination vertex, to find the shortest path from every starting vertex?
回答1:
Just reverse all the edges, and treated destination as start node. Problem solved.
回答2:
If this is an undirected graph: I think inverting the problem would give you advantages. View the actual destination as the start and find the shortest path from that to all of the other nodes in the graph. By doing this you can use the traditional pathing algorithms.
来源:https://stackoverflow.com/questions/28772855/algorithm-like-bellman-ford-only-for-multiple-start-single-destination