Алгоритм Беллмана — Форда: различия между версиями

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