Informatika gyűjtemény

Egy szinttel feljebb 14. óra

2004050607080910

NézetNyomtat

14. óra

(Erben Péter, 2008. 01. 07.)

gráfalgoritmusok 4. - Mélységi és szélességi bejárás

Egy játék lehetséges állapotait és lépéseit gráffal ábrázolhatjuk. Az állapotok a csúcsok, a lépések az (irányított) élek. Egyszemélyes játékok (pl 15-ös kirakós) esetén a játék állapotgráfján egy utat keresünk a kezdőállapotból valamelyik célállapotba.
A keresés legegyszerűbb módja a bejárás.

Bejárások

  1. Mélységi bejárás
    Ez közismertebb nevén a visszalépéses keresés. Ha egy csúcsból tovább tudunk lépni, akkor megyünk, ha elakadtunk, akkor visszalépünk addig a csúcsig, ahonnan másfele is lehet menni, és új lépést választunk ott. Megvalósítható rekurzióval, vagy tárolhatjuk az eddigi döntéseket egy globális tömbben.
  2. Szélességi bejárás
    Egy csúcsból az összes rákövetkezőt "meglátogatjuk" és egy sor adatszerkezetben tároljuk. Amíg a sor nem üres, kivesszük a legrégebben berakott csúcsot, és végiglátogatjuk az eddig még nem látott rákövetkezőit.

Feladat