Dijkstra'nın algoritması, Dijkstra'nın algoritmasını en verimli şekilde belirlemek için bilgisayar bilimlerinde kullanılan popüler bir yöntemdir.
Algorithm'i anlamak
Algoritma düğümlerine en küçük çadır mesafe ile düğümü seçerek çalışır ve sonra komşu düğümlerine mesafeleri günceller. Hedefe giden yol bulunamadı veya tüm düğümler işlendi.
Step-by-step Hesap Süreci
Diyelim ki A, B, C, D ve E ile bir grafiğimiz var ve aşağıdaki ağırlıklı kenarlar:
- A to B: 4
- C: 2
- B to C: 1
- B to D: 5
- C to D: 8
- C to E: 10
- D to E: 2
Node A'dan başlayarak, mesafeleri başlangıç: A = 0, diğerleri = infinity. Mark all nodes as unvisited.
1.
Node A ( mesafe 0). Update komşu düğümleri B ve C:
B'ye Uzak: 4 (A + 4), C: 2 (A + 2) Mark A ziyaret olarak.
Iteration 2
Node C ( mesafe 2). Update komşuları D ve E:
D'ye Uzak: 10 (C + 8, E: 12 (C + 10) Mark C ziyaret ettiği gibi.
Iteration 3
Node B ( mesafe 4). Update komşu D:
D'ye Uzak: 9 (B + 5), önceki 10. Update D'nin ziyaret ettiği gibi 9. Mark B'ye daha az.
4
Node D ( mesafe 9) Update komşu E:
E: 11 (D + 2). Update E'in ziyaret ettiği 11 Mark D'ye mesafe.
5
Node E'nin ziyaret ettiği 11 Mark E mesafesi var. A to E'den en kısa yol C, B, D ve E'den toplam mesafe 11 Mark E'nin 11'in üzerinde.