Készítette: Mester Tamás METRABI.ELTE
Adott egy G irányított vagy irányítás nélküli, véges gráf. Az eljárás célja a G gráf összes csúcsának bejárása a kezdőcsúcstól való távolságuk szerint növekvő sorrendben. A bejárás során a csúcsokat sor adatszerkezet segítségével járjuk be, amibe tesszük a csúcsokat, ami azt eredményezi, hogy a bejárt csúcsok sorrendje szintfolytonos lesz. (Azaz a legközelebbi csúcs(ok) lesz(nek) a bejárás elején, majd így tovább a legtávolabbiig.) Ha két csúcs azonos távolságra van a szülő csúcstól az, hogy milyen sorrendbe tesszük a sorba nem számít.
Először elérjük a kezdőcsúcsot. Majd elérjük a kezdőcsúcstól 1 távolságra lévő csúcsokat (a kezdőcsúcs szomszédait). Ezután elérjük s-től 2 távolságra lévő csúcsokat (a kezdőcsúcs szomszédainak a szomszédait), és így tovább. Ha egy csúcsot már bejártunk, akkor a későbbi odajutásoktól el kell tekinteni.
Amikor egy csúcsot még nem értünk el legyen fehér színű. Induláskor a kezdőcsúcs kivételével minden csúcs ilyen. (u ∉ Q és u ∉ ElértCsúcsok ) Amikor egy csúcsot elérünk és bedobjuk a sorba, színezzük szürkére. A kezdőcsúcs induláskor ilyen. (u ∈ Q és u ∈ ElértCsúcsok ) Amikor egy csúcsot kivettünk a sorból és kiterjesztet-tük (elértük a szomszédait), a színe legyen fekete. (u ∉ Q és u ∈ ElértCsúcsok )
A B C D EFG H S= I 1.Lépés : Induljunk el a kezdő csúcsból (s) és tegyük be a sorba (mindegy milyen sorrendben) a hozzá tartozó (gyerek) csúcsokat. Tegyük be a d tömbe (feldolgozott csúcsok távolsága a kezdőcsúcstól(rendre)) a megfelelő távolságot. Végül tegyük be a bejáráshoz használt sorba a csúcsból(sorból kivett csúcsból) elérhető, még FELDOLGOZATLAN csúcsot. Ezt a három lépést csináljuk egészen addig, amíg a sor ki nem ürül.
0111\\\\\d: /AAA\\\\\sz: A B C D EFG H S= I sor: BCD bejárt kulcsértékek: A
A B C D EFG H S= I 01112\\\\d: /AAAB\\\\sz: sor: CDEF bejárt kulcsértékek: AB
A B C D EFG H S= I \\\d: /AAABB\\\sz: sor: DEF bejárt kulcsértékek: ABC
A B C D EFG H S= I \\d: /AAABBD\\sz: sor: EFG bejárt kulcsértékek: ABCD
A B C D EFG H S= I \d: /AAABBDE\sz: sor: FGH bejárt kulcsértékek: ABCDE
A B C D EFG H S= I d: /AAABBDEFsz: sor: GHI bejárt kulcsértékek: ABCDEF
A B C D EFG H S= I d: /AAABBDEFsz: sor: HI bejárt kulcsértékek: ABCDEFG
A B C D EFG H S= I d: /AAABBDEFsz: sor: I bejárt kulcsértékek: ABCDEFGH
A B C D EFG H S= I d: /AAABBDEFsz: sor: bejárt kulcsértékek: ABCDEFGHI
A bejárás végeredményeként megkaptuk, a gráf szélességi bejárásának feszítőfáját. (vastagon szedett nyilak mentén) Ez a feszítőfa nem egyértelmű éppen az miatt, hogy a bejárás sorrendje(,,iránya”) nem előre meghatározott. Valamint megkaptuk a csúcsok távolságát a kezdőcsúcstól egy tömbben, a szülőket egy másik tömbben. Ezek az értékek rendre párosíthatók a bejárás eredményét tartalmazó tömbbel.