Was ist Rekursion sowie Rekursive Funktionen?
Rekursion in C
In C ist es erlaubt, dass sich eine Funktion selbst aufruft.
int fakultaet(int n)
{
if(n == 0) {
return 1;
} else {
return n * fakultaet(n-1);
}
}
int main()
{
int x;
printf(“Bitte Zahl eingeben: “);
scanf(“%d”, &x);
printf(“Fakultaet: %d\n”, fakultaet(x));
return 0;
}
Nenne Unterscheidungen von Rekursion und Iteration
Iteration: Anzahl von bestimmten Durchläufen bis “Abbruch”
Rekursion: Ergebnis wir wieder mit einbezogen in Funktion
- Für jede rekursive Lösung gibt es auch eine iterative, die auf
Schleifen basiert.
- Rekursiv oder iterativ? Entscheidungskriterien:
- Komplexität der einzelnen Lösungen
- Was ist einfacher zu programmieren?
- Welche Lösung ist leichter verständlich?
- Laufzeitverhalten
- Funktionsaufrufe kosten Zeit
- Speicherbedarf
- bei jedem Funktionsaufruf werden alle lokalen Variablen der Funktion erneut angelegt