180 likes | 442 Views
Dijsktra algoritmus. Készítette Schlezák Márton. Rövid ismertető. A Dijkstra-algoritmus egy mohó algoritmus, amivel irányított gráfokban lehet megkeresni a legrövidebb utakat egy adott csúcspontból kiindulva. Az algoritmust Edsger Dijkstra holland informatikus fejlesztette ki. Jelölések.
E N D
Dijsktra algoritmus Készítette Schlezák Márton
Rövid ismertető A Dijkstra-algoritmus egy mohó algoritmus, amivel irányított gráfokban lehet megkeresni a legrövidebb utakat egy adott csúcspontból kiindulva. Az algoritmust Edsger Dijkstra holland informatikus fejlesztette ki.
Jelölések KÉSZ (halmaz): a kész halmazba kerülnek azon csúcsok, melyekhez már ismerjük az egyik legrövidebb utat; d[1..n] (tömb): a start csúcstól való távolság megadására szolgál, amíg nem ismerjük a távolságot addig végtelen nagynak vesszük, melynek jelölésére a # jelet használjuk; P[1..n] (tömb): a szülő csúcsok indexének nyilvántartására szolgál;
Jelölések Start csúcs: Indexek: 1 ... n „Nem KÉSZ” csúcsok: „KÉSZ” csúcsok: Aktuális él: Legrövidebb utakhoz tartozó élek:
s: 1 8 D F C B E A G 3 10 14 4 5 KÉSZ : d : P : 1. 7. 1 # # # # # # # NIL NIL NIL NIL NIL NIL NIL 5 2 1. 7. 3 4 6 25 7 7
1 8 C 0 A # E # B # G # F # D # 3 10 14 4 5 KÉSZ : d : P : 1. 7. 1 # 0 # # # # # NIL NIL NIL NIL NIL NIL NIL 5 2 1. 7. 3 4 6 25 7 7
1 8 C 0 A # E # B # G # F 14 D 8 3 10 14 4 5 KÉSZ : C d : P : 1. 7. 1 # 0 14 8 # # # 1 NIL NIL NIL NIL 1 NIL 5 2 1. 7. 3 4 6 25 7 7
1 8 C 0 A 18 E 13 B # G # F 14 D 8 3 10 14 4 5 KÉSZ : C D d : P : 1. 7. 1 # 0 14 8 18 13 # 1 3 3 NIL NIL 1 NIL 5 2 1. 7. 3 4 6 25 7 7
1 8 F 14 < 13+3 C 0 A 18 E 13 B # G # D 8 3 10 14 4 5 KÉSZ : C D E d : P : 1. 7. 1 # 0 ? 8 18 13 ? ? 3 3 ? NIL 1 NIL 5 2 1. 7. 3 4 6 25 7 7
1 8 F 14 C 0 A 18 E 13 B # G 17 D 8 3 10 14 4 5 KÉSZ : C D E d : P : 1. 7. 1 # 0 14 8 18 13 17 1 3 3 5 NIL 1 NIL 5 2 1. 7. 3 4 6 25 7 7
1 8 C 0 A 18 E 13 B 39 G 17 D 8 3 10 14 4 5 KÉSZ : C D E F d : P : 1. 7. 1 39 0 14 8 18 13 17 1 3 3 5 2 1 NIL 5 2 1. 7. F 14 3 4 6 25 7 7
1 8 B 39 < 17+7 C 0 A 18 E 13 G 17 D 8 3 10 14 4 5 KÉSZ : C D E F G d : P : 1. 7. 1 ? 0 14 8 18 13 17 1 3 3 5 ? 1 NIL 5 2 1. 7. F 14 3 4 6 25 7 7
1 8 B 24 C 0 A 18 E 13 G 17 D 8 3 10 14 4 5 KÉSZ : C D E F G d : P : 1. 7. 1 24 0 14 8 18 13 17 1 3 3 5 6 1 NIL 5 2 1. 7. F 14 3 4 6 25 7 7
1 8 B 24 C 0 A 18 E 13 G 17 D 8 3 10 14 4 5 KÉSZ : C D E F G d : P : 1. 7. 1 24 0 14 8 18 13 17 1 3 3 5 6 1 NIL 5 2 1. 7. F 14 3 4 6 25 7 7
1 8 C 0 A 18 E 13 B 24 G 17 D 8 3 10 14 4 5 KÉSZ : C D E F G A d : P : 1. 7. 1 24 0 14 8 18 13 17 1 3 3 5 6 1 NIL 5 2 1. 7. F 14 3 4 6 25 7 7
1 8 C 0 A 18 E 13 B 24 G 17 D 8 3 10 14 4 5 KÉSZ : C D E F G A B d : P : 1. 7. 1 24 0 14 8 18 13 17 1 3 3 5 6 1 NIL 5 2 1. 7. F 14 3 4 6 25 7 7
1 8 C 0 A 18 E 13 B 24 G 17 D 8 3 10 14 4 5 Végül berajzoljuk a legrövidebb utak által meghatározott fa éleit. 5 2 F 14 4 6 7 7