Documente Academic
Documente Profesional
Documente Cultură
3 D
A
9 5 1
1 G
9 C 5 1 2 H
2 F 4
B
4 E 1
Calin Jebelea Algoritmul lui Dijkstr 8
Algoritmul lui Dijkstra
Algoritmul trebuie sa returneze urmatorul rezultat:
D=
- 7 1 3 3 4 5
T=
A E A A C E F -
A B C D E F G H
Tabloul D are cate o intrare pentru fiecare nod al grafului,
corespunzand lungimii drumului minim de la nodul A pana la
respectivul nod
Astfel, drumul minim de la A la A nu intereseaza (-), drumul minim de
la A la F are lungimea 4, drumul minim de la A la H nu exista (), etc.
D - 9 1 3 9
:
3 D T: A A A A A A A A
A
9 5 1 A B C D E F G H
1 G
9 C 5 1 Nodurile marcate
2 H astfel sunt noduri
2 F 4 vizitate in graf de
B algoritmul lui
4 E 1
Dijkstra
Calin Jebelea Algoritmul lui Dijkstr 10
Algoritmul lui Dijkstra
Cu alte cuvinte, presupunem ca
drumurile minime de la nodul A la
celelalte noduri din graf sunt alcatuite
dintr-un singur arc, adica arcul direct de
la A la fiecare din nodurile respective
(simbolul semnifica lipsa arcului)
Astfel, drumurile minime gasite dupa
primul pas sunt cele ingrosate pe figura
anterioara
D - 9 1 3 3 6 8
:
3 D A B C D E F G H
A
9 5 1
1 G
9 C 5 1 2 H
2 F 4
B
4 E 1
Calin Jebelea Algoritmul lui Dijkstr 20
Algoritmul lui Dijkstra
Tabloul D este: - 9 1 3 3 6 8
A B C D E F G H
D - 7 1 3 3 4 8
:
3 D A B C D E F G H
A
9 5 1
1 G
9 C 5 1 2 H
2 F 4
B
4 E 1
Calin Jebelea Algoritmul lui Dijkstr 24
Algoritmul lui Dijkstra
Tabloul D este: - 7 1 3 3 4 8
A B C D E F G H
D - 7 1 3 3 4 5
:
3 D A B C D E F G H
A
9 5 1
1 G Nu exista drumuri
9 C 5 1 2 mai scurte spre B
H sau H trecand prin
2 F 4 G, deci tablourile D
B
4 E 1 si T raman
nemodificate
Calin Jebelea Algoritmul lui Dijkstr 28
Algoritmul lui Dijkstra
Se alege nodul B si se marcheaza, deoarece nodul B are
intrarea in tabloul D minima drumul minim de la A la B
are lungimea 7 (nu vom gasi altul mai scurt pana la final)
D - 7 1 3 3 4 5
:
3 D A B C D E F G H
A
9 5 1
1 G Nu exista drum mai
9 C 5 1 2 scurt spre H
H trecand prin B, deci
2 F 4 tablourile D si T
B
4 E 1 raman
nemodificate
Calin Jebelea Algoritmul lui Dijkstr 29
Algoritmul lui Dijkstra
Se alege nodul H si se marcheaza, deoarece nodul H are
intrarea in tabloul D minima drumul minim de la A la H are
lungimea (adica nu exista), caz in care punem T[H] =
D - 7 1 3 3 4 5
:
3 D A B C D E F G H
A
9 5 1
1 G Nu mai exista
9 C 5 1 2 noduri nemarcate
H care sa fie
2 F 4 actualizate, deci
B
4 E 1 tablourile D si T
raman
Calin Jebelea Algoritmul lui Dijkstr nemodificate 30
Algoritmul lui Dijkstra
Algoritmul se incheie deoarece nu mai sunt
noduri nemarcate
Rezultatul este:
D - 7 1 3 3 4 5
:
T: A E A A C E F -
A B C D E F G H
3 D
A
9 5 1
1 G
9 C 5 1 2 H
2 F 4
B
4 E 1
Calin Jebelea Algoritmul lui Dijkstr 32
Algoritmul lui Dijkstra
Tabloul T este: A E A A C E F -
A B C D E F G H