Rekurze jsou zajímavé události samy o soběpro sebe, ale v programování mají zvláštní význam v jednotlivých případech. Při prvním setkání s nimi má značný počet lidí problémy s jejich porozuměním. Toto je kvůli obrovské oblasti potenciálního použití termínu sám, záviset na kontextu ve kterém “rekurze” je používána. Lze však doufat, že tento článek pomůže vyhnout se možnému nedorozumění nebo nedorozumění.
Rekurze může být konečná nebo nekonečná.Aby první z nich přestal působit sám, musí také obsahovat podmínky ukončení. To může být snížení hodnoty proměnné a po dosažení určité hodnoty je volání zastaveno a program končí / přechod na další kód, v závislosti na potřebách k dosažení určitých cílů. Nekonečnou rekurzí se rozumí, že bude vyvolána, když běží počítač nebo program, ve kterém pracuje.
Возможна также организация сложной рекурсии с pomocí dvou funkcí. Předpokládejme, že existují A a B. Funkce A má volání B ve svém kódu a B zase říká počítači, aby provedl A. Složité rekurze jsou cestou z mnoha složitých logických situací pro počítačovou logiku.
Pokud čtenář těchto řádků studoval softwarecykly, pak si pravděpodobně všiml podobnosti mezi nimi a rekurze. Obecně mohou skutečně provádět podobné nebo stejné úkoly. Pomocí rekurze je vhodné simulovat smyčku. To je zvláště užitečné tam, kde samotné cykly nejsou příliš pohodlné. Schéma implementace softwaru se mezi různými programovacími jazyky na vysoké úrovni příliš neliší. Ale rekurze v Pascalu a rekurze v C nebo jiném jazyce má své vlastní charakteristiky. Lze jej úspěšně implementovat do jazyků nízké úrovně, jako je Assembler, ale je to problematičtější a časově náročnější.
Jinými slovy:stromy obsahují podstromy, které stále obsahují stromy, ale v menším množství než předchozí strom. To pokračuje, dokud v jednom z uzlů není žádná příležitost k dalšímu posunu, což bude znamenat konec rekurze. Na schématickém obrázku je ještě jedna nuance: obyčejné stromy rostou zdola nahoru a při programování jsou nakresleny opačně. Uzly, které nemají pokračování, se nazývají koncové uzly. Pro pohodlí zápisu a pro usnadnění se používá genealogická terminologie (předci, děti).
I přes obecný prováděcí program a konkrétníV každém případě má rekurze v programování své vlastní vlastnosti. To může vést k obtížím při hledání potřebného materiálu. Ale měli byste si vždy pamatovat: pokud programovací jazyk volá funkce nebo procedury, pak vyvolání rekurze je proveditelný úkol. Jeho nejvýznamnější rozdíly se však projevují při používání nízkých a vysokých programovacích jazyků. To platí zejména pro možnosti implementace softwaru. Provedení nakonec závisí na tom, jaký úkol je nastaven, a rekurze je psána v souladu s tím. Použité funkce a postupy jsou různé, ale jejich cíl je vždy stejný - nutit se k tomu, aby byli povoláni.