Algoritmul lui Dijkstra

De la Wikipedia, enciclopedia liberă
Salt la: Navigare, căutare

Algoritmul lui Dijkstra este o metodă de a stabili drumul de cost minim de la un nod de start la oricare altul dintr-un graf. Numele este dat de Edsger Dijkstra, savantul care l-a descoperit.

Algoritm[modificare | modificare sursă]

  1. Se creează o listă cu distanțe, o listă cu nodul anterior, o listă cu nodurile vizitate și un nod curent.
  2. Toate valorile din lista cu distanțe sunt inițializate cu o valoare infinită, cu excepția nodului de start, care este setat cu 0.
  3. Toate valorile din lista cu nodurile vizitate sunt setate cu fals.
  4. Toate valorile din lista cu nodurile anterioare sunt inițializate cu -1.
  5. Nodul de start este setat ca nodul curent.
  6. Se marchează ca vizitat nodul curent.
  7. Se actualizează distanțele, pe baza nodurilor care pot fi vizitate imediat din nodul curent.
  8. Se actualizează nodul curent la nodul nevizitat care poate fi vizitat prin calea cea mai scurtă de la nodul de start.
  9. Se repetă (de la punctul 6) până când toate nodurile sunt vizitate.