Можем ли мы применить алгоритм Беллмана-Форда к Неориентированному графу?

Я знаю, что алгоритм Беллмана-Форда работает для направленных графов. Будет ли это работать для неориентированного графика? Кажется, что с неориентированным графом он не сможет обнаруживать циклы, потому что параллельные ребра будут считаться циклами. Это правда или нет? Можно ли применить алгоритм?

2 ответов


на самом деле любой неориентированный граф также является направленным графом.

вам просто нужно указать любые ребра {u, v} дважды (u, v) и (v, u).

но не забывайте, что это также означает, что любое ребро с отрицательным весом будет считаться петли. Поскольку алгоритм Беллмана-Форда работает только на графах, которые не содержат циклов с отрицательными Весами, это фактически означает, что ваш неориентированный граф не должен содержать ребер с отрицательным весом.

Если это не так его довольно хорошо использовать Bellmann-Ford.


Bellman-Ford не применим для поиска кратчайших путей на графах, содержащих отрицательные циклы, но он находит кратчайшие пути на графах и может определить, содержит ли граф отрицательный цикл, хотя он не найдет кратчайшего пути, поскольку такого пути не существует.