Effacer les filtres
Effacer les filtres

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 vues (au cours des 30 derniers jours)
Finding Longest Path in Directed Acyclic Graph
  2 commentaires
KALYAN ACHARJYA
KALYAN ACHARJYA le 30 Juil 2018
Modifié(e) : KALYAN ACHARJYA le 30 Juil 2018
What are the path represents? Matrix element values?
DHARMAN J
DHARMAN J le 30 Juil 2018
In each Row, First two element for connection between two nodes and third elements for its weight for that connection

Connectez-vous pour commenter.

Réponse acceptée

Magdy Saleh
Magdy Saleh le 30 Juil 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 commentaires
DHARMAN J
DHARMAN J le 30 Juil 2018
Hi sir, Thanks for reply. I couldn't implement such algorithms. S only posted here
Guillaume
Guillaume le 30 Juil 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Networks dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by