Graph
::longestPath
Самые длинные пути от одного одного узла
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
Graph::longestPath(G
, v
, <w
>, <Length>, <Path>)
Graph::longestPath(G, v)
возвращает таблицу с длиной самых длинных путей от v
ко всем другим узлам в Графике относительно веса ребра.
Graph::longestPath(G, v, w)
возвращает длину самого длинного пути от v
к w
.
Если дополнительный аргумент Path
дан, таблица с самыми длинными путями возвращена. Если оба Length
и Path
даны, затем и длина самых длинных путей и путей возвращена. Пути даны как списки узлов в обратном порядке.
Если Path
не дан, опция Length
не оказывает влияния.
График G
должен быть направлен и не должен содержать циклы.
Мы создаем График и пробуем несколько вызовов Graph::longestPath
:
V := [1, 2, 3, 4, 5]: Ed := [[1, 2], [1, 3], [2, 3], [2, 4], [3, 4], [3, 5], [4, 5]]: Ew := [7, 6, 5, 4, 2, 2, 1]: G := Graph(V, Ed, EdgeWeights = Ew, Directed): Graph::longestPath(G, 1)
Graph::longestPath(G, 1, Path)
|
График |
|
Вершины в |
|
Возвратите таблицу с длинами кратчайших путей |
|
Возвратите таблицу с самими путями |
Таблица, целое число или список узлов
Реализованный алгоритм является изменением алгоритма Белмана.