Shortest path between two single nodes
computes the shortest path starting at source node P
= shortestpath(G
,s,t
)s
and ending
at target node t
. If the graph is weighted (that is,
G.Edges
contains a variable Weight
), then
those weights are used as the distances along the edges in the graph. Otherwise, all
edge distances are taken to be 1
.
The shortestpath
, shortestpathtree
, and
distances
functions do not support undirected graphs with
negative edge weights, or more generally any graph containing a negative cycle,
for these reasons:
A negative cycle is a path that leads from a node back to itself, with the sum of the edge weights on the path being negative. If a negative cycle is on a path between two nodes, then no shortest path exists between the nodes, since a shorter path can always be found by traversing the negative cycle.
A single negative edge weight in an undirected graph creates a negative cycle.
digraph
| distances
| graph
| nearest
| shortestpathtree