A = [ 1 2 1;1 3 1;1 4 1;2 5 2;3 5 3;4 5 4] ; For above matrix first i need out put like all possible path like 1-2-5 and its total weight (1+2 =3); path 1-3-5 and its total weight (1+3 = 4), Path 1-4-5 and its total weight (1+4 =5);
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
DHARMAN J
am 30 Jul. 2018
Kommentiert: Guillaume
am 30 Jul. 2018
Finding Longest Path in Directed Acyclic Graph
2 Kommentare
KALYAN ACHARJYA
am 30 Jul. 2018
Bearbeitet: KALYAN ACHARJYA
am 30 Jul. 2018
What are the path represents? Matrix element values?
Akzeptierte Antwort
Magdy Saleh
am 30 Jul. 2018
You can try this:
A = [ 1 2 1;1 3 1;1 4 1;2 5 2;3 5 3;4 5 4];
cntr = 1;
path = [];
for i = 1:length(A)
path(i).startNode = A(i, 1);
path(i).path = [A(i, 2)];
path(i).weight = A(i, 3);
end
for i = 1:length(A)
for j = 1:length(A)
if(path(j).path(end) == A(i, 1))
path(j).path = [path(j).path, A(i, 2)];
path(j).weight = path(j).weight + A(i, 2);
end
end
end
But this assumes that your paths are at most of length two. Otherwise you might want to consider a recursive approach.
11 Kommentare
Guillaume
am 30 Jul. 2018
I suggest you make a start at implementing and when you have a specific problem with it, come back and ask for help, showing what you have come up with so far.
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!