Kľúčový rozdiel: V programovaní možno rekurziu vysvetliť zvažovaním rekurzívnej funkcie. Rekurzívna funkcia je taká, ktorá opakovane vyzýva na opakovanie kódu. Na druhej strane iterácia je dosiahnutá iteračnou funkciou, ktorá opakuje určitú časť kódu.
Pri programovaní sa rekurzia a iterácia používajú na dosiahnutie opakovania. Odkazujú na proces, ktorý sa opakuje niekoľkokrát. Rekurzia je založená na prístupe, v ktorom sa niečo vzťahuje na seba, kým nie je splnená podmienka. Metóda sa považuje za rekurzívnu, ak sa môže priamo alebo nepriamo nazývať -

{
... názov() ...
}
alebo
neplatné meno ()
{
... hra() ...
}
prázdna hra () {
... názov() ...
}
Pre úspešnú rekurziu je potrebné mať na pamäti, že každý hovor uskutočnený v procese rekurzie musí zjednodušiť výpočet. Rekurzia sa dosiahne definovaním základného prípadu.
int faktorial (int N)
{
ak (N == 0) vráti 1;
iný návrat (N * faktorial (N-1));
}
V tomto príklade možno rekurziu ľahko vidieť vo výkaze (N * factorial (N-1)), kde sa volá faktoriálna funkcia znova. Rekurzia je veľmi užitočná, pretože pomáha pri skrátení kódu. Rekurzia je však trochu pomalá.

funkčný faktoriál (n)
{
var loop, výsledok;
výsledok = 1;
pre (loop = 1, slučka <= n, slučka ++)
{
výsledok = výsledok * slučka;
}
výsledok návratu;
}
V tomto príklade je slučkovanie dosiahnuté použitím celých čísiel od 1 do n a ako príklad pre zastavenie ďalšieho cyklu sa použije smyčka <= n. Môžeme teda dospieť k záveru, že rovnaké výsledky možno dosiahnuť použitím rekurzie a iterácie. Obe strany sú však založené na prístupoch, ktoré sú trochu iné. Každý rekurzívny algoritmus môže byť tiež napísaný pomocou iterácií (slučiek).
Porovnanie medzi opakovaním a opakovaním:
rekurzia | opakovanie | |
definícia | Rekurzia sa vzťahuje na rekurzívnu funkciu, v ktorej sa opakovane vyzýva na opakovanie kódu. | Iterácia je dosiahnutá iteračnou funkciou, ktorá slučky opakuje niektorú časť kódu. |
Dôležitý bod | Musí sa určiť základný prípad | Musí sa určiť koncový stav |
výkon | Porovnateľne pomalé | Porovnateľne rýchlo |
Využitie pamäte | Porovnateľne viac | Porovnateľne menej |
kód | menšie | Dlhšie |
Nekonečné opakovanie | Nekonečná rekurzia je schopná zničiť systém | Nekonečné cyklické cykly opakovane spotrebúvajú cykly CPU |
štruktúra | výber | opakovanie |
Miestne premenné | Nevyžaduje sa | Požadovaný |