Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaAndrea Dudásné Megváltozta több, mint 9 éve
1
Dijkstra algoritmus
2
Egy minimális költségű utat keres élsúlyozott gráfban A gráf lehet irányított vagy irányítás nélküli Feltétele, hogy pozitív élsúlyok legyenek Külön ismeret nélkül nem hagyható ki egyetlen csúcs sem a vizsgálatból
3
Struktogram d[s] := 0; π[s] := NIL for all u ∈ V\{s} d[u] := ∞; π[u] := NIL Üres(KÉSZ); Üres(minQ); Feltölt(minQ) ¬ Üres-e(minQ) u := KiveszMin(minQ) KÉSZ := KÉSZ U {u} for all v ∈ Szomszéd(u)\KÉSZ d[u] + c(u, v) < d[v] d[v] := d[u] + c(u, v) SKIP π[v] := u Helyreállít(minQ) Dijkstra(G, s)
4
B A D E F C G d π 7 6 3 10 3 5 11 2 4 2 1 4 9 s = A B C D E F G
5
B A D E F C G 0 NIL d π 7 6 3 10 3 5 11 2 4 2 1 4 9 s = A B C D E F G d[s] := 0; π[s] := NIL
6
B A D E F C G 0∞∞∞∞∞∞ NIL d π 7 6 3 10 3 5 11 2 4 2 1 4 9 s = A B C D E F G d[s] := 0; π[s] := NIL for all u ∈ V\{s}: d[u] := ∞ π[u] := NIL
7
B A D E F C G 0∞∞∞∞∞∞ NIL d π 7 6 3 10 3 5 11 2 4 2 1 4 9 s = A B C D E F G Üres(KÉSZ) Üres(minQ) KÉSZ minQ
8
B A D E F C G 0∞∞∞∞∞∞ NIL d π 7 6 3 10 3 5 11 2 4 2 1 4 9 s = A B C D E F G Feltölt(minQ) KÉSZ A0 B∞ C∞ D∞ E∞ F∞ G∞ minQ
9
B A D E F C G 0∞∞∞∞∞∞ NIL d π 7 6 3 10 3 5 11 2 4 2 1 4 9 s = A B C D E F G ¬ Üres-e(minQ): u := KiveszMinQ KÉSZ := KÉSZ U {u} KÉSZ B∞ C∞ D∞ E∞ F∞ G∞ minQ u = A A
10
B A D E F C G 026∞∞9∞ NILAA A d π 7 6 3 10 3 5 11 2 4 2 1 4 9 s = A B C D E F G ¬ Üres-e(minQ): u := KiveszMinQ KÉSZ := KÉSZ U {u} KÉSZ B2 C6 D∞ E∞ F9 G∞ minQ u = A A for all v ∈ Szomszéd(u)\KÉSZ: ha d[u] + c(u,v) < d[v] akkor: d[v] := d[u] + c(u,v) π[v] := u Helyreállít(minQ), egyébként SKIP
11
B A D E F C G 0265129∞ NILAABBA d π 7 6 3 10 3 5 11 2 4 2 1 4 9 s = A B C D E F G ¬ Üres-e(minQ): u := KiveszMinQ KÉSZ := KÉSZ U {u} KÉSZ C6 D5 E12 F9 G∞ minQ u = B A for all v ∈ Szomszéd(u)\KÉSZ: ha d[u] + c(u,v) < d[v] akkor: d[v] := d[u] + c(u,v) π[v] := u Helyreállít(minQ), egyébként SKIP B
12
B A D E F C G 026589∞ NILAABDA d π 7 6 3 10 3 5 11 2 4 2 1 4 9 s = A B C D E F G ¬ Üres-e(minQ): u := KiveszMinQ KÉSZ := KÉSZ U {u} KÉSZ C6 E8 F9 G∞ minQ u = D A for all v ∈ Szomszéd(u)\KÉSZ: ha d[u] + c(u,v) < d[v] akkor: d[v] := d[u] + c(u,v) π[v] := u Helyreállít(minQ), egyébként SKIP B D
13
B A D E F C G 02658917 NILAABDAC d π 7 6 3 10 3 5 11 2 4 2 1 4 9 s = A B C D E F G ¬ Üres-e(minQ): u := KiveszMinQ KÉSZ := KÉSZ U {u} KÉSZ E8 F9 G17 minQ u = C A for all v ∈ Szomszéd(u)\KÉSZ: ha d[u] + c(u,v) < d[v] akkor: d[v] := d[u] + c(u,v) π[v] := u Helyreállít(minQ), egyébként SKIP B D C
14
B A D E F C G 02658912 NILAABDAE d π 7 6 3 10 3 5 11 2 4 2 1 4 9 s = A B C D E F G ¬ Üres-e(minQ): u := KiveszMinQ KÉSZ := KÉSZ U {u} KÉSZ F9 G12 minQ u = E A for all v ∈ Szomszéd(u)\KÉSZ: ha d[u] + c(u,v) < d[v] akkor: d[v] := d[u] + c(u,v) π[v] := u Helyreállít(minQ), egyébként SKIP B D C E
15
B A D E F C G 02658912 NILAABDAE d π 7 6 3 10 3 5 11 2 4 2 1 4 9 s = A B C D E F G ¬ Üres-e(minQ): u := KiveszMinQ KÉSZ := KÉSZ U {u} KÉSZ G12 minQ u = F A for all v ∈ Szomszéd(u)\KÉSZ: ha d[u] + c(u,v) < d[v] akkor: d[v] := d[u] + c(u,v) π[v] := u Helyreállít(minQ), egyébként SKIP B D C E F
16
B A D E F C G 02658912 NILAABDAE d π 7 6 3 10 3 5 11 2 4 2 1 4 9 s = A B C D E F G ¬ Üres-e(minQ): u := KiveszMinQ KÉSZ := KÉSZ U {u} KÉSZ minQ u = G A for all v ∈ Szomszéd(u)\KÉSZ: ha d[u] + c(u,v) < d[v] akkor: d[v] := d[u] + c(u,v) π[v] := u Helyreállít(minQ), egyébként SKIP B D C E F G
17
B A D E F C G 02658912 NILAABDAE d π 7 6 3 10 3 5 11 2 4 2 1 4 9 s = A B C D E F G Egy lehetséges minimális költségű feszítőfája a gráfnak
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.