GraphTheory
ShortestPath
find a shortest path between two vertices
Calling Sequence
Parameters
Options
Description
Examples
Compatibility
ShortestPath(G, u, v)
G
-
graph
u, v
vertices of the graph
ignoreweights=truefalse
Specifies whether to ignore edge weights if present.
ShortestPath(G, u, v) returns a shortest path from u to v in G using a breadth-first search. The output is a list of vertices in the order they appear on the path. If no such a path exists, an error message is displayed.
If G is undirected, the output is a shortest path between u and v. If G is directed, the output is a shortest directed path from u to v.
If G has weighted edges then the output is a shortest weighted path between u and v computed using either DijkstrasAlgorithm or BellmanFordAlgorithm depending on whether there are negative edge weights. To ignore the edge weights and compute the path with the fewest edges, use the option ignoreweights.
If v is not reachable from u, the empty path will be returned.
with⁡GraphTheory:
C6≔CycleGraph⁡6
C6≔Graph 1: an undirected graph with 6 vertices and 6 edge(s)
IsReachable⁡C6,1,5
true
ShortestPath⁡C6,1,5
1,6,5
W6≔Graph⁡1,2,10,1,6,6,2,3,−10,3,4,10,4,5,−10,5,6,5
W6≔Graph 2: a directed weighted graph with 6 vertices and 6 arc(s)
DrawGraph⁡W6,layout=circle
ShortestPath⁡W6,1,6
1,2,3,4,5,6
ShortestPath⁡W6,6,1
ShortestPath⁡W6,1,6,ignoreweights
1,6
The GraphTheory[ShortestPath] command was updated in Maple 2024.
The ignoreweights option was introduced in Maple 2024.
For more information on Maple 2024 changes, see Updates in Maple 2024.
See Also
BellmanFordAlgorithm
DijkstrasAlgorithm
Distance
IsReachable
Reachable
Download Help Document