Menu
Coddy logo textTech

Motivation

Урок 2 из 9 курса Алгоритм Беллмана-Форда — Алгоритмы на графах на Coddy.

Алгоритм Беллмана-Форда основан на одной операции — релаксации: для ребра u -> v весом w, если путь через u дешевле (dist[u] + w < dist[v]), обновите dist[v]. Повторяйте это для каждого ребра.

Зачем изучать алгоритм Беллмана-Форда?

  • Отрицательные веса: он работает там, где алгоритм Дейкстры бессилен, например, когда стоимость может быть скидкой или при валютном арбитраже.
  • Обнаружение отрицательных циклов: один дополнительный проход релаксации выявляет циклы, суммарный вес которых отрицателен.
  • Простота: не требуется очередь с приоритетом, только повторная релаксация ребер.

Компромисс заключается в скорости: O(V * E), что медленнее, чем O((V + E) log V) у алгоритма Дейкстры.

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Алгоритм Беллмана-Форда — Алгоритмы на графах