GraphTheory[DijkstrasAlgorithm]
|
Calling Sequence
|
|
DijkstrasAlgorithm(G, s, t)
DijkstrasAlgorithm(G, s, T)
DijkstrasAlgorithm(G, s)
|
|
Parameters
|
|
G
|
-
|
a graph with nonnegative edge weights or no weights
|
s, t
|
-
|
vertices of the graph G
|
T
|
-
|
list of vertices of the graph G
|
|
|
|
|
Description
|
|
•
|
If G is an unweighted graph, the edges are assumed all to have weight 1.
|
•
|
If G is a weighted graph, DijkstrasAlgorithm('G','s','t') returns the cheapest weighted path from vertex s to vertex t in the graph G. If a path from s to t exists, the output is a list of the form [[s,...,t],w] where [s,...,t] is the path and w is the weight of that path. If no such path exists the output is .
|
•
|
In the second calling sequence where T is a list of vertices of G, this is short for [seq(DijkstrasAlgorithm(G,s,t), t=T)], save that the algorithm does not need to recompute cheapest paths.
|
•
|
In the third calling sequence where no destination vertices are given, this is short for DijkstrasAlgorithm(G,s,Vertices(G)), i.e. the cheapest path from s to every vertex in G is output.
|
•
|
To compute distances between all pairs of vertices simultaneously, use the AllPairsDistance command. To ignore edge weights (and use a faster breadth-first search) use the ShortestPath command.
|
•
|
If some edge weights are negative, the BellmanFordAlgorithm command can be used to compute the shortest path.
|
|
|
Examples
|
|
>
|
|
>
|
|
| (1) |
>
|
|
| (2) |
>
|
|
>
|
|
| (3) |
>
|
|
| (4) |
>
|
|
>
|
|
| (5) |
>
|
|
| (6) |
>
|
|
| (7) |
|
|
Download Help Document
Was this information helpful?