Hirdetés

Új hozzászólás Aktív témák

  • axioma
    veterán

    Igen a végén írtam ezt én is, hogy ez az egyik tippem, hogy miért módosul, de akkor van valami egyszerűbb módszer, amivel ki lehet azt küszöbölni, hogy megváltozzon (esetleg másféle átadás, stb...)? Szerintem az lenne a megoldás, ha az egész tömböt eltárolnám egy másolatban, csak ugye nagyon sokszor kéne a rekurzió miatt másolgatni a tömböt ide-oda és nem hiszem hogy túl optimális lenne. (szerk.: na most jól leírtam még egyszer, ami a válaszban volt) Gondolkodtam azon is, hogy csak azokat az elemeket másolgatom, amik a rekurzió alatt megváltoznak, de az valamiért nem működött.

    (#5312) EQMontoya
    Labirintusban útkeresés backtrack algoritmussal. Azért módosítom, mert ahogy halad befele, úgy mindig beleírom a már bejárt utat és a rekurzióból visszafele meg további lehetséges utakat keresek, mert az összes lehetségeset meg kell találnia. És itt kéne, hogy a backtrack miatti visszaugrásnál eltünjön a módosítás és visszakapjam a rekurzió előtti tömböt. Az nem okoz gondot, hogy ott nincs megjelölve, hogy jártam (sőt a másik irányból érkező utak miatt pont ezért kéne ez), mert az if szerkezet miatt ugyan azt az útvonalat többet már nem vizsgálja meg.

    Egy kicsit nem ertem, hogy mi a tomb, ha rekurzivan hivsz, nem a vermed?
    Ha a rekurziv hivas _nelkuli_ (ciklussal) backtrackre gondolsz, na azt en is parszor leirtam mar, es tombbel meg tomb-mutatokkal, szinten rejtveny-megoldasokhoz. Bar mindig ido kellett a beloveshez, mert a megfordulasi pontokra elegge figyelni kell...
    Tulajdonkeppen a tombot veremnek hasznalod. Az egyetlen dolog, amit adminisztralni kell, hogy amikor egy elemnel vagy, akkor tudd, hogy most eppen merrefele haladsz. Me'g elotte vagy a feldolgozasnak az ott lehetseges ertekeknel, vagy ket tovabblepesi lehetoseg kozott, vagy tullepted mindet.
    Egyszeruseg kedveert legyenek a lehetseges tovabblepesi pontok az iranyok, valami egymast koveto egeszek jelolessel. Ekkor amikor a verembe letolok egy elemet, a mutatot feljebb viszem a kovetkezore, ott inicializalom a lehetseges elemek ala eggyel. Amikor meg visszaterek, akkor a mutato dekrementalasaval egyidoben az ott kapott erteket bamban novelem eggyel, es ugy megyek neki a kovetkezo ciklusnak (ami hozhatja azt, hogy tulmentunk, megint visszalepes van, egy ciklus nem feltetlen egy vizsgalat).

    Viszont ha jo neked ez rekurzivban is, akkor meg en azt csinalnam, hogy nem a tombot tolom le, hanem csak az utolso lepest. A tobbi minek neked? Tudod, hogy honnan jossz, for ciklusban meghivod az osszes lehetseges tobbi iranyra, es kesz. A tabla allapota meg lehet az egesz rekruzion kivuli statikus (termeszetesen ugy ertve, hogy visszalepesnel a bejarasi jelolest is visszaveszed).

Új hozzászólás Aktív témák