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);
1 次查看(过去 30 天)
显示 更早的评论
Finding Longest Path in Directed Acyclic Graph
2 个评论
KALYAN ACHARJYA
2018-7-30
编辑:KALYAN ACHARJYA
2018-7-30
What are the path represents? Matrix element values?
采纳的回答
Magdy Saleh
2018-7-30
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 个评论
Guillaume
2018-7-30
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.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!