Дерево кратчайших путей из узла
возвращает ориентированный график, TR
= shortestpathtree(G
,s
)TR
, который содержит дерево кратчайших путей из исходного узла s
ко всем другим узлам в графике. Если график взвешен (то есть G.Edges
содержит переменную Weight
), затем эти веса используются в качестве расстояний вдоль ребер в графике. В противном случае все расстояния по ребрам будут 1
.
использует дополнительные опции, заданные одним или несколькими аргументами пары "имя-значение", используя любую из комбинаций входных аргументов в предыдущих синтаксисах. Для примера, TR
= shortestpathtree(___,Name,Value
)shortestpathtree(G,s,'OutputForm','vector')
возвращает числовой вектор, который описывает дерево кратчайших путей.
The shortestpath
, shortestpathtree
, и distances
функции не поддерживают неориентированные графы с отрицательными весами ребер или вообще любой график, содержащий отрицательный цикл, по этим причинам:
Отрицательный цикл - это путь, который ведет от узла назад к себе, при этом сумма весов ребер на пути отрицательная. Если отрицательный цикл находится на пути между двумя узлами, то между узлами не существует кратчайшего пути, поскольку более короткий путь всегда можно найти, пройдя отрицательный цикл.
Один отрицательный вес ребра в неориентированном графе создает отрицательный цикл.
digraph
| distances
| graph
| nearest
| shortestpath