Algoritmusok II. Gyakorlat 3. Feladat Pup Márton
Adott: G=(V, E): élsúlyozott, irányított vagy irányítás nélküli, negatív élsúlyokat nem tartalmazó, véges gráf s ∈ V: forrás (kezdőcsúcs) 2 Határozzuk meg, ∀ v ∈ V csúcsra, s-ből v-be vezető legrövidebb utat és annak hosszát!
Algoritmus: 3
A kiindulási állapotban a kezdőcsúcs 0, a többi csúcs végtelen súllyal szerepel az elsőbbségi sorban. Kiindulási állapot: 4 s ∞3∞ 4∞4∞ 5∞5∞ 2∞2∞
1. lépés 5 Az 1. lépésben kivesszük az 1-es csúcsot a prioritási sorból. Kiterjesztjük az 1- est, azaz szomszédaira kiszámítjuk az 1- esből kimenő éllel meghosszabbított utat. s ∞3∞ ∞5∞
2. lépés 6 Megfigyelhető, hogy a 2-es csúcsba már korábban is találtunk 10 hosszú utat, de a második lépésben, a 4-es csúcs kiterjesztésekor, találunk, a 4-es csúcson átmenő rövidebb 8 hosszú utat. s
3. lépés 7 A 2-es csúcs kiterjesztésekor, a 3-as csúcsba találunk egy rövidebb utat. s
4. lépés 8 Ebben a lépésben is találunk egy rövidebb utat az 5-ös csúcsba. s
5. lépés 9 s Az utolsó ábrán berajzoltuk a legrövidebb utak fáját alkotó éleket.
10