220 likes | 385 Views
Prim algoritmus. Algoritmusok és adatszerkezetek 2. Újvári Zsuzsanna. Az algoritmus elve • Minimális feszítőfát keres • Egy csúcsból indulva növekszik, amíg az összes csúcsot el nem éri • Inicializálás: – Vegyünk egy kezdőcsúcsot • Amíg nincs meg az összes csúcs
E N D
Prim algoritmus Algoritmusok és adatszerkezetek 2.Újvári Zsuzsanna
Az algoritmus elve • Minimális feszítőfát keres • Egy csúcsból indulva növekszik, amíg az összes csúcsot el nem éri • Inicializálás: – Vegyünk egy kezdőcsúcsot • Amíg nincs meg az összes csúcs – Válasszunk ki egy minimális súlyú „u-v” élt, ahol „u” már szerepel az új gráfban, „v” viszont nem – „v”-t és „u-v”-t hozzáadjuk az új gráfhoz
A csúcsok lehetséges státuszai: - Fehér: a csúcs eleme a minQ-nak és nincs X-beli szomszédja, azaz még nem került "látótávolságba", tehát az X-től való távolsága végtelen. - Szürke: a csúcs eleme a minQ-nak, de létezik X-beli szomszédja, tehát a távolsága már kisebb, mint végtelen. - Fekete: a csúcs kikerült a minQ-ból, azaz bekerült X-be P[1..n] tömb: egy csúcs feszítőfabeli szülőcsúcsának a tárolására minQ: (d[v],v) párokból álló minimumválasztó elsőbbségi sor, ahol d[v] értéke a kulcs.
Példa 8 B G 1 7 10 3 12 A F 1 4 2 C 5 H 3 2 6 6 9 E D 5
1. lépés 8 B G 1 7 10 3 12 A F 3 4 2 C 5 H 3 2 6 6 9 E D 5
2. lépés 8 B G 1 7 10 3 12 A F 3 4 2 C 5 H 3 2 6 6 9 E D 5
3. lépés 8 B G 1 7 10 3 12 A F 3 4 2 C 5 H 3 2 6 6 9 E D 5
4. lépés 8 B G 1 7 10 3 12 A F 3 4 2 C 5 H 3 2 6 6 9 E D 5
5. lépés 8 B G 1 7 10 3 12 A F 3 4 2 C 5 H 3 2 6 6 9 E D 5
6. lépés 8 B G 1 7 10 3 12 A F 3 4 2 C 5 H 3 2 6 6 9 E D 5
7. lépés 8 B G 1 7 10 3 12 A F 3 4 2 C 5 H 3 2 6 6 9 E D 5
8. lépés 8 B G 1 7 10 3 12 A F 3 4 2 C 5 H 3 2 6 6 9 E D 5
9. lépés 8 B G 1 7 10 3 12 A F 3 4 2 C 5 H 3 2 6 6 9 E D 5
10. lépés 8 B G 1 7 10 3 12 A F 3 4 2 C 5 H 3 2 6 6 9 E D 5
11. lépés 8 B G 1 7 10 3 12 A F 3 4 2 C 5 H 3 2 6 6 9 E D 5
12. lépés 8 B G 1 7 10 3 12 A F 3 4 2 C 5 H 3 2 6 6 9 E D 5
13. lépés 8 B G 1 7 10 3 12 A F 3 4 2 C 5 H 3 2 6 6 9 E D 5
14. lépés 8 B G 1 7 10 3 12 A F 3 4 2 C 5 H 3 2 6 6 9 E D 5
Végeredmény B G 1 3 A F 3 4 2 C H 3 2 E D
Köszönöm a figyelmet! 2011.03.01.