Учитывая график, который имеет отрицательные веса, но мы знаем наверняка это не имеет никакого отрицательного цикла:Можем ли мы использовать Dijkstra в этом случае?
Добавить достаточно большой постоянной для всех весов, чтобы они стали положительными и использовать алгоритм Дейкстры, чтобы найти наименьший путь.
Правильно ли это, если у нас нет отрицательных циклов? Если у нас есть отрицательные циклы, мы не сможем использовать этот алгоритм, так как ему нужно будет пересмотреть узлы Dijkstra, отмеченные как завершенные.
Спасибо за ответ! Если я оставлю негативы весом, но точно знаю, что не будет отрицательного цикла, будет ли Дейкстра работать? – MATH000
@ MATH000 проверьте эту ссылку. http://stackoverflow.com/questions/13159337/why-doesnt-dijkstras-algorithm-work-for-negative-weight-edges –
Спасибо за ссылку, но все примеры имеют отрицательные циклы. Можете ли вы привести один пример, когда Dijkstra выходит из строя на графике без отрицательного цикла? – MATH000