Koncová rekurze: Porovnání verzí
Smazaný obsah Přidaný obsah
m narovnání přesměrování |
m překlep |
||
Řádek 1:
'''Koncová rekurze''', respektive '''koncové volání''', je v [[Informatika|informatice]] taková situace, kdy posledním příkazem [[Funkce (programování)|funkce]] je [[rekurzivní funkce (programování)|rekurzivní]] zavolání sebe sama, respektive jiné funkce. Takové volání může šetřit místo na [[zásobník volání|zásobníku volání]], pokud to [[překladač]] umožňuje. Při předání řízení do podprogramu je totiž
Z hlediska běžného [[procedurální programování|procedurálního programování]] je chytrá úprava koncových volání určitou [[Optimalizace (informatika)|optimalizací]] umožňující hlubší „zanoření“ při rekurzi. Naproti tomu ve [[Funkcionální programování|funkcionálním programování]], kde je místo [[cyklus (programování)|cyklů]] obvyklé používat [[rekurze|rekurzi]], je obvykle chytrý překlad koncových volání zaručen standardy daného jazyka (například ve [[Scheme]]). Hluboké rekurzivní zanoření je totiž předpokladem fungování programů a tedy není považováno za optimalizaci, ale za nezbytnou součást překladače.
|