Алгоритм Беллмана — Форда: различия между версиями
[непроверенная версия] | [отпатрулированная версия] |
Содержимое удалено Содержимое добавлено
м откат правок 178.213.240.13 (обс.) к версии Дима74 Метка: откат |
|||
Строка 68:
'''return''' ''p''
== Граф с отрицательными циклами ==
Алгоритм Беллмана-Форда позволяет очень просто определить, существует ли в графе <math>G</math> отрицательный цикл, достижимый из вершины <math>s</math>. Достаточно произвести внешнюю итерацию цикла не <math>|V| - 1</math>, a ровно <math>|V|</math> раз. Если при исполнении последней итерации длина кратчайшего пути до какой-либо вершины строго уменьшилась, то в графе есть отрицательный цикл, достижимый из <math>s</math>.
На основе этого можно предложить следующую оптимизацию: отслеживать изменения в графе и, как только они закончатся, сделать выход из цикла (дальнейшие итерации будут бессмысленны).
== Литература ==
|