====== Rekurzió ====== - Faktoriális - hatványozás - szó megfordítás - binomilis együttható számolsa - maximumkivlasztás - sorozat-számítás - rekurzív bináris keresés - foci csapat bevonulás - Fibonacci - Hanoi tornyai - fa bejárása - gyorsrendezés - összefésülő rendezés - visszalépéses keresés - LNKO(m,n) = n|m ? n : LNKO(n, m % n) - Descartes szorzat - k elemű részhalmazok generálása - számrendszerek közötti átváltás ===== Mikor használunk rekurziót? ===== - Az eredmény rekurzív szerkezetű - ismétléses permutciók generálása (pl 2db a, 3db b és 1db c permutációi - első elem+maradék) - valamennyi részhalmaz generálsa - partíciók megadása (pozitív egész összegre bontsa) - halmaz partíciók (diszjunkt részhalmazokra bontás) - Ha a feladat szövege rekurzív szerkezetű - Ha a megoldás módszere a backtrack - Ha a megoldás módszere az "oszd meg és uralkodj" (divide et impera) - Ha a feldolgozandó adatszerkezet rekurzív (fa, lista) Teljes indukció Iterációvá alakítás verem (paraméterek, lokális változók címe, program kód visszatérési címe) rekurzív adatszerkezetek - fa (üres|pont+bal fa+jobb fa) fraktálok logo - növekvő négyzetek - sorminta n elemmel - spirál - Koch - Sierpinski - Fa - Pitagorasz-fa requrzió mélysége, szélessége doboz-pakolás "élő" rendezés más tétel fiókokkal/dobozokkal - minden lépést más csinál... Rajz/építmény elmonds alapján.