Do I understand correctly when I say that your function is only capable of computing the shortest path between a root and all other nodes. I am looking for a function that efficiently computes shortest paths between all nodes in a subset of the nodes of the whole graph.
Do I understand your code correctly when I say the following:
- I would have to call the function multiple times (for each root). It is not possible to specify r as a vector of roots? In other words, this algorithm does not save any info when you have to compute path from multiple roots.
- All computation spent on shortest paths to nodes that I do not need is lost. Is this really necessary (i.e. inherent to the Bellman-Ford algorithm) or could this could become faster if it is adapted to the situation I need it for?
Thank you very much for your reply.