Shortest Possible Path from All Nodes in a Graph

조회 수: 1 (최근 30일)
A M
A M 2017년 1월 26일
답변: Walter Roberson 2017년 1월 27일
[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?

채택된 답변

Walter Roberson
Walter Roberson 2017년 1월 27일
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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Graph and Network Algorithms에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by