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

24 lines
699 B
Markdown
Raw Permalink Normal View History

# 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é