Ključna razlika: Pri programiranju je rekurzija mogoče razložiti z upoštevanjem rekurzivne funkcije. Rekurzivna funkcija je tista, ki se ponovno pokliče in ponovi kodo. Po drugi strani pa se iteracija doseže s ponavljajočo se funkcijo, ki ponavlja nekaj odsekov kode.
Pri programiranju se rekurzija in iteracija uporabljata za doseganje ponovitev. Nanašajo se na proces, ki se ponavlja večkrat. Rekurzija temelji na pristopu, v katerem se nekaj nanaša na sebe, dokler ni izpolnjen pogoj. Rečemo, da je metoda rekurzivna, če se lahko kliče neposredno ali posredno kot -

{
... ime () ...
}
ali
void name ()
{
... igra () ...
}
void game () {
... ime () ...
}
Za uspešno rekurzijo se morate zavedati, da mora vsak klic v procesu rekurzije poenostaviti računanje. Rekurzija se doseže z definiranjem osnovnega primera.
int factorial (int N)
{
if (N == 0) vrne 1;
sicer se vrne (N * faktorial (N-1));
}
V tem primeru se rekurzija zlahka vidi v stavku (N * faktorial (N-1)), kjer ponovno kliče faktorsko funkcijo. Rekurzija je zelo koristna, saj pomaga pri skrajševanju kode. Vendar pa je rekurzija nekoliko počasna.

funkcijska funkcija (n)
{
var zanka, rezultat;
rezultat = 1;
za (zanko = 1; zanka <= n; zanka ++)
{
rezultat = rezultat * zanke;
}
rezultat vrnitve;
}
V tem primeru se zanka doseže z uporabo cela števila od 1 do n, in izraz <= n se uporablja kot merilo za ustavitev nadaljnje zanke. Tako lahko sklepamo, da lahko enake rezultate dosežemo z uporabo rekurzije in iteracije. Vendar pa oba temeljita na pristopih, ki so nekoliko drugačni. Vsak rekurzivni algoritem se lahko zapiše tudi z uporabo iteracij (zank).
Primerjava rekurzije in ponovitve:
Rekurzija | Iteracija | |
Opredelitev | Rekurzija se nanaša na rekurzivno funkcijo, v kateri se znova ponovi, da ponovi kodo. | Ponavljanje se doseže s ponavljajočo se funkcijo, ki ponavlja nekaj odsekov kode. |
Pomembna točka | Treba je določiti osnovni primer | Določiti je treba pogoj za prekinitev |
Izvedba | Primerjalno počasen | Primerjalno hitro |
Poraba pomnilnika | Primerjalno več | Primerjalno manj |
Koda | Manjša | Daljše |
Neskončno ponavljanje | Neskončna rekurzija je zmožna zrušiti sistem | Neskončna zanka ponavlja cikle procesorja |
Struktura | Izbira | Ponovitev |
Lokalne spremenljivke | Ni zahtevano | Zahtevano |