Motivation
Coddy'nin Bellman-Ford Algoritması - Graf Algoritmaları kursunda ders 2 / 9.
Bellman-Ford tek bir işlem üzerine kuruludur, gevşetme (relaxation): w ağırlığındaki bir u -> v kenarı için, eğer u üzerinden gitmek daha ucuzsa (dist[u] + w < dist[v]), dist[v] değerini güncelleyin. Bunu her kenar için tekrar tekrar yapın.
Neden Bellman-Ford öğrenilmeli?
- Negatif ağırlıklar: Dijkstra'nın çalışamadığı yerlerde çalışır; örneğin indirim olabilen maliyetler veya döviz arbitrajı gibi durumlarda.
- Negatif döngü tespiti: fazladan bir gevşetme geçişi, toplam ağırlığı negatif olan döngüleri ortaya çıkarır.
- Basitlik: öncelik kuyruğu (priority queue) yoktur, sadece tekrarlanan kenar gevşetme işlemi vardır.
Buradaki ödünleşim (trade-off) hızdır: O(V * E), Dijkstra'nın O((V + E) log V) değerinden daha yavaştır.
Kendin dene
Bu ders bir kod alıştırması içermiyor.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.