Алгоритм Левита
Алгоритм Левита находит расстояние от заданной вершины до всех остальных. Работает с ребрами отрицательного веса.
Алгоритм
Пусть - текущая длина кратчайшего пути до вершины . Изначально, для всех ; .
Разделим вершины на три множества:
- - вершины, расстояние до которых уже вычислено(возможно, не окончательно)
- - вершины, расстояние до которых вычисляется
- - вершины, расстояние до которых не вычисленно
Изначально все вершины, кроме помещаются в множество . Вершина помещается в множество .