График::

Самые длинные пути от одного одного узла

Блокноты 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 должен быть направлен и не должен содержать циклы.

Примеры

Пример 1

Мы создаем График и пробуем несколько вызовов 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)

Параметры

G

График

v, w

Вершины в G

Опции

Length

Возвратите таблицу с длинами кратчайших путей

Path

Возвратите таблицу с самими путями

Возвращаемые значения

Таблица, целое число или список узлов

Алгоритмы

Реализованный алгоритм является изменением алгоритма Белмана.