Diferențe între recursiune și repetare

Recurgerea și repetarea accelerează executarea unui program.

recursivitate

O operație recursivă este un proces care se repetă până când se ajunge la o instrucțiune finală din cadrul operației. Cea mai comună tehnică recursivă în programarea pe calculator este o metodă de reducere a unei probleme, de sus în jos, obținând o versiune a problemei mai simplă până când se ajunge la un caz de bază. Soluția pentru cazul de bază este combinată cu soluția fiecăreia dintre problemele anterioare până la atingerea primei, în cel mai complicat caz.

repetare

În programarea pe calculator, o operație iterativă este cea care repetă un proces într-un număr determinat de timp (iterații), în funcție de parametrii definiți de programator. În mod normal, rezultatul unei iterații a procesului este folosit ca punct de pornire pentru următoarea iterație. Fiecare etapă inițiază următorul pas. Procesul continuă până când se atinge un anumit scop și se termină procesul.

Principala diferență

Cea mai importantă diferență între operațiile recursive și iterative este aceea că pașii unei operații iterative sunt efectuate unul câte unul și executarea directă direct la pasul următor. Într-o operație recursivă, fiecare pas după etapa inițială este o replică a pasului anterior. În plus, din partea de sus în jos, fiecare pas este puțin mai ușor decât cel care este doar "în partea de sus". La sfârșitul operației, toate soluțiile sunt combinate pentru a rezolva problema.

Exemple

Un exemplu obișnuit de operație cursivă este un factorial. Factorul unui număr este produsul întregului număr pozitiv mai mic sau egal cu numărul respectiv. Rezolvarea acestei probleme necesită recursiv înmulțirea numărului inițial cu ea însăși minus 1. Expresia recursivă este n (n - 1), unde n este numărul inițial. Fiecare pas este ușor mai ușor decât pasul anterior. Operația se termină când n este redusă la 1. Un exemplu de iterație constă în suma unui set de numere. Expresia iterativă este (n + (n + 1)), unde n este numărul inițial. Fiecare pas începe cu soluția din pasul anterior. Operația se termină când n atinge numărul dorit.