Azzera filtri
Azzera filtri

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 visualizzazioni (ultimi 30 giorni)
Finding Longest Path in Directed Acyclic Graph

Risposta accettata

Magdy Saleh
Magdy Saleh il 30 Lug 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 Commenti
Guillaume
Guillaume il 30 Lug 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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Networks 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