Junior
Was ist der Unterschied zwischen der Umsetzung derselben Aufgabe mit Rekursion und Schleife?
sobes.tech KI
Antwort von AI
Rekursion verwendet den Aufruf der eigenen Funktion zur Lösung eines Problems, indem sie es in kleinere Teilaufgaben zerlegt, bis der Basissatz erreicht ist. Währenddessen wiederholt die Schleife einen Codeblock eine bestimmte Anzahl von Malen oder bis eine Bedingung erfüllt ist.
| Merkmal | Rekursion | Schleife |
|---|---|---|
| Ausführung | Funktionsaufruf | Iteration |
| Speicher | Verwendet den Aufrufstapel | Verwendet Variablen für Zähler/Bedingung |
| Lesbarkeit | Für manche Aufgaben kürzer möglich | Oft direkter |
| Leistung | Kann langsamer sein wegen der Aufwände für Aufrufe | Häufig effizienter |
| Stacküberlauf | Risiko bei tiefer Rekursion | Kein Risiko eines Stacküberlaufs |
Beispiel in C# (Fakultät):
Rekursive Implementierung:
// Rekursive Berechnung der Fakultät
int FactorialRecursive(int n)
{
if (n == 0)
{
return 1; // Basisfall
}
return n * FactorialRecursive(n - 1); // Rekursiver Aufruf
}
Implementierung mit Schleife:
// Fakultätsberechnung mit Schleife
int FactorialIterative(int n)
{
int result = 1;
for (int i = 1; i <= n; i++)
{
result *= i;
}
return result;
}