FAV-ZCU/KIV PPA2/02. Rekurzivní programy.md

699 B

Rekurzivní programy

  • programy, které volají sami sebe
  • rekurze, musí někdy skončit!

Přímá rekurze

  • metoda volá přímo sebe sama
  • je vidět na první pohled

Nepřímá rekurze

  • a volá b, b volá a

Problémy rekurze

  • problémy s hloubkou zásobníku
    • spíše programátorská chyba - přetečení zásobníku
    • pro mnoho praktických problémů je rekurze dostatečná
    • Java umožňuje nastavit velikost zásobníku
  • často lze přepsat do nerekurzivní formy
    • nerekurzivní zápis je často rychlejší
    • zrychlení se projeví, pokud je samotný vykonávaný kód triviální
    • někdy je přepsání poměrně složité