Backtrack (visszalépéses) algoritmus segítség, magyarázat?
Jövő hétre van egy szorgalmi beadandó lehetőség (C#).
A lényeg a programban van random számú doboz; a, b, c oldalai vannak. Ezek is randomok, 5-től 61-ig.
Az első program az volt, hogy csináltunk egy matrjoska sorozatot az első doboztól kezdve, tehát kilistázni, kiírni azokat sorba amik beleférnek az elsőbe, aztán így tovább végig.
Utána ugyan ez, csak a dobozokat forgatni is lehet.
A feladat pedig az lenne, hogy meg kell keresni és kiírni a leghosszabb sorozatot, de ugye a forgatás miatt nem elég az amelyiknek a legnagyobb oldalai vannak. Tanárunk mondott egy segítséget, hogy backtrack algoritmust kell használni.
Na, ez pontosan, konyhanyelven hogy is működik?
Köszönöm a válaszokat!
Egy egyszerűsítés és optimalizációs is egyben :
Elég csak "naívan" a sorrendbe rendezett permutációkat ellenőrizni hogy belefér e a másikba, nem kell generálni a többi permutációt ennek eldöntésére.
"Tök mindegy, hogy Snapdragon 854, amd a6, intel core i7 stb. Nem előfeltétele a rekurzió megírásának."
De bizony előfeltétele.
"Régebbi rekurzív kódom is kiválóan fut újabb architektúrájú gépen, esélyem se volt hogy akkor ismerjem amikor még nem is létezett."
Ezzel neked nem igazad lett, hanem szerencséd.
"Azt kell tudni, hogy a rekurzió hogy működik.
Kinek mi baja lenne hogy annyira veszélyes?"
Na igen, ezt kéne tudni.
A rekurzió az amikor egy fgv önmagát hívja, de:
a hívás során a függvény állapota elmentődik a verembe.
Ez azt eredményezi, hogy elég nagy számú hívás esetén a verem túlcsordulhat. Ez a stack overflow.
Na meg, a hívás helye után általában marad némi remanencia. Ez a kód akkor nem fut le, de a kutya sem eszi meg, csak időben kitolódik a futása. A többit majd hozzágondolod, ha van miből..
#12: Dragonka, megint ki kell b#szassalak innen?
Viselkedjél!
@07:23
Nem tudom honnan tudod/gondolod, hogy ki ez a futóbolond.
Csökkent a színvonal az évek során itt.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!