Azzera filtri
Azzera filtri

Shortest Possible Path from All Nodes in a Graph

3 visualizzazioni (ultimi 30 giorni)
[dist,path,pred] = graphshortestpath(DG,1,6) would return shortest path from Node 1 to Node 6 in a graph. Is there any way to find shortest paths from all other nodes (i.e. 2,3,4 and 5) to the destination (i.e. 6) simultaneously with one MATLAB command?

Risposta accettata

Walter Roberson
Walter Roberson il 27 Gen 2017
No, there is no built-in command for that. You could look in the File Exchange.
If you have a vector of source node numbers, s, and a vector of destination (target) node numbers, t, and for any given index K, the distance from node number s(K) to destination t(K) is given by cost c(K), and you only fill in the list in one direction (assume that the backwards links will automatically be filled in by the software), then
maxnode = max([s(:), t(:)]);
sendpaths = cell(maxnode, 1);
G = graph(s, t, c);
for K = 1 : maxnode
sendpaths{K} = shortestpath(G, K, sinknode);
end

Più risposte (0)

Categorie

Scopri di più su Graph and Network Algorithms in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by