Шаг пятый

а) Если надо найти путь от S к t:

- если p = t, то 1(р) является длиной кратчайшего пути, конец задачи;

- если р ≠ t, то перейти ко второму шагу.

б) Если требуется найти путь от S ко всем остальным вершинам:

- если все вершины отмечены как постоянные, то пометки этих вершин дают длины кратчайших путей, конец задачи;

- если некоторые пометки являются временными, перейти ко второму шагу.

-

Длина кратчайшего пути от исходной вершины S к любой вершине графа t равна величине постоянной пометки этой вершины t, т.е. l(S,t)=l(t ).

Для нахождения самого пути воспользуемся соотношением:

l(Xi*)+c(Xi*,Xi)=l(Xi), (2)

где Xi* - вершина, непосредственно предшествующая вершине Xi в кратчайшем пути от S к t

Если условие (2) выполняется, то дуга (Xi*,Xi) входит в кратчайший путь.

Используя изложенный выше алгоритм, определим кратчайший путь в графе G от заданной вершины Х5 ко всем вершинам.

Шаг1 Присвоим начальные пометки вершинам:

l(X5) = 0+;

Xi ≠ X5, l(Xi) = ∞;

p = X5,


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: