Shortest path constrained to use specific nodes
Mostrar comentarios más antiguos
Let's say I have a simple graph:
G = graph([1,2,3,4,5],[2,3,4,5,1]);
I want to find the shortest path from 1 to 3. The shortestpath function would give me 1-2-3. But in my case, I have a list of nodes that I can travel on:
nodes = [1,3,4,5];
How can I find the shortest path between any two nodes in the graph that only takes the nodes in that list (which will be 1-5-4-3 in this case)?
Respuestas (3)
Why not just analyze a subgraph with the inadmissible nodes removed:
cut=setdiff(1:numnodes(G),nodes);
Gsub=rmnodes(G,cut);
Sulaymon Eshkabilov
el 3 de Abr. de 2021
Here is an easy solution:
shortestpath(G, 1,3) % Shortest path between 1 and 3
Good luck.
1 comentario
Tejas
el 3 de Abr. de 2021
Tejas
el 3 de Abr. de 2021
Categorías
Más información sobre Graph and Network Algorithms en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!