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?
Algorithm like Bellman-Ford, only for multiple start, single destination?
Asked Answered
Also consider using the roy-floyd algorithm if your nodes change a lot. –
Hurty
Just reverse all the edges, and treated destination as start node. Problem solved.
I can't believe I didn't think of that. I'll give it a try, and probably mark your answer as accepted (since you answered first.) Thanks! –
Constitutive
fantastic ANSWER :))) –
Russel
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.
Formulating it that way (rather than reversing the edges) assumes the distance is symmetric (which may be fine, it's just something to keep in mind) –
Moulton
@harold That would be true if the edges were weighted - I didn't assume there would be edge weights since the OP didn't mention them. –
Aleshia
© 2022 - 2024 — McMap. All rights reserved.