310 likes | 408 Views
SzB (G,p). Gráf szélességi bejárása. Tetszőleges gráf, melyben a p csúcsot választottam kiindulónak:. A gráfnak megfelelő fa:. Az algoritmus kiinduló állapota. Kezdetben minden csúcs fehér, kivéve a p csúcsot, amelyik szürke A Q sorban is kezdetben csak a p csúcs van.
E N D
SzB(G,p) Gráf szélességi bejárása
Tetszőleges gráf, melyben a p csúcsot választottam kiindulónak: A gráfnak megfelelő fa:
Az algoritmus kiinduló állapota • Kezdetben minden csúcs fehér, kivéve a p csúcsot, amelyik szürke • A Q sorban is kezdetben csak a p csúcs van. • A kezdőcsúcstól való távolság (d[p] értéke) mindenhol -1 kivéve a kezdőcsúcsot.
Az algoritmus működés közben: Ciklusfeltétel teljesül, Q sor nem üres; belépés a főciklusba.
Az algoritmus működés közben: Első elem (p) kivétele a sorból.
Az algoritmus működés közben: A belső for ciklus megvizsgálja a p-hez tartozó szomszédsági lista (Adj[p]) első elemét q-t. Ciklusfeltétel teljesül, belépés a ciklusba
Az algoritmus működés közben: Mivel q csúcs még fehér, ezért az igaz ág hajtódik végre.
Az algoritmus működés közben: q csúcs legyen szürke
Az algoritmus működés közben: d[q] távolság átállítása d[p]+1 = 1-re
Az algoritmus működés közben: Annak följegyzése, hogy q csúcs szülőpointere: p
Az algoritmus működés közben: Az aktuális q csúcsot hozzáfűzi a sorhoz.
Az algoritmus működés közben: A belső for ciklus megvizsgálja a p-hez tartozó szomszédsági lista (Adj[p]) második elemét r-t. Ciklusfeltétel teljesül, belépés a ciklusba.
Az algoritmus működés közben: Mivel r csúcs még fehér, ezért az igaz ág hajtódik végre.
Az algoritmus működés közben: r csúcs legyen szürke
Az algoritmus működés közben: Az algoritmus működés közben: d[r] távolság átállítása d[p]+1 = 1-re
Az algoritmus működés közben: Az algoritmus működés közben: Annak följegyzése, hogy r csúcs szülőpointere: p
Az algoritmus működés közben: Az aktuális r csúcsot hozzáfűzi a sorhoz.
Az algoritmus működés közben: A belső for ciklus végigment a p-hez tartozó szomszédsági listán, p csúcsot feketére állítja.
Az algoritmus működés közben: Ciklusfeltétel teljesül, Q sor nem üres; belépés a főciklusba.
Az algoritmus működés közben: Első elem (q) kivétele a sorból.
Az algoritmus működés közben: A belső for ciklus megvizsgálja a q-hoz tartozó szomszédsági lista (Adj[q]) első elemét s-t. Ciklusfeltétel teljesül, belépés a ciklusba
Az algoritmus működés közben: A belső ciklus lefutása utáni állapot. A szomszédsági lista összes eleme bekerült Q-ba és színük szürkére lett állítva
Az algoritmus működés közben: Q csúcs átszínezése feketére