InformaticăliceuClasa 10mediu
Recursivitate vs Iterație în C++
Când să folosești recursivitate și când iterație, avantaje, dezavantaje, exemple comparative.
circa 1 lună în urmă
0 vizualizări
30 minute
Recursivitate vs Iterație
Ce este Recursivitatea?
O funcție recursivă este o funcție care se apelează pe sine.
1// Factorial recursiv 2int factorial(int n) { 3 if (n <= 1) return 1; // Caz de bază 4 return n * factorial(n - 1); // Apel recursiv 5}
Ce este Iterația?
Iterația folosește bucle pentru a repeta operații.
1// Factorial iterativ 2int factorial(int n) { 3 int result = 1; 4 for (int i = 2; i <= n; i++) { 5 result *= i; 6 } 7 return result; 8}
Comparație
| Aspect | Recursivitate | Iterație |
|---|---|---|
| Cod | Mai scurt, elegant | Mai lung |
| Memorie | Consumă stiva | Constantă |
| Viteză | Poate fi mai lentă | De obicei mai rapidă |
| Debugging | Mai greu | Mai ușor |
Când să folosești?
Recursivitate:
- •Probleme care se descompun natural (arbori, grafuri)
- •Backtracking
- •Divide et impera
- •Când soluția e mai clară recursiv
Iterație:
- •Când performanța contează
- •Când recursia e prea adâncă (stack overflow)
- •Probleme simple
Exerciții
- •Scrie fibonacci recursiv și iterativ
- •Calculează suma cifrelor unui număr în ambele variante
- •Măsoară timpul de execuție pentru ambele variante
Găsește un profesor de informatică pentru algoritmi!
Tutorialul te-a ajutat?
Dacă ai nevoie de ajutor personalizat, găsește un profesor calificat pentru meditații
