Junior
Was ist rekursives Verhalten?
sobes.tech KI
Antwort von AI
Ausführung von Code oder Funktionen, die sich selbst aufrufen.
Hauptbestandteile:
- Basisfall: Die Bedingung, bei der die Rekursion stoppt. Ohne sie würde die Rekursion unendlich laufen.
- Rekursiver Fall: Der Teil der Funktion, in dem sie sich selbst aufruft, meist mit einem veränderten Argument.
Beispiel (Berechnung der Fakultät):
func factorial(_ n: Int) -> Int {
// Basisfall
if n <= 1 {
return 1
}
// Rekursiver Fall
return n * factorial(n - 1)
}
// Beispielaufruf
let result = factorial(5) // 120
Vorteile:
- Elegante Lösung für Probleme mit selbstähnlicher Struktur (z.B. Baumdurchläufe).
- In manchen Fällen besser lesbarer Code.
Nachteile:
- Kann viel Speicher verbrauchen (Aufrufstapel).
- Risiko eines Stapelüberlaufs bei zu tiefen Rekursionen.
- Manchmal weniger effizient als iterative Lösungen.