Sobes.tech
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.