Sobes.tech
Junior

Czym jest zachowanie rekurencyjne?

sobes.tech AI

Odpowiedź od AI

Wykonywanie kodu lub funkcji, które wywołują same siebie.

Główne elementy:

  • Przykład podstawowy: Warunek, w którym rekursja się zatrzymuje. Bez niego, rekursja byłaby nieskończona.
  • Przykład rekurencyjny: Część funkcji, w której wywołuje ona sama siebie, zazwyczaj z zmienionym argumentem.

Przykład (obliczanie silni):

func factorial(_ n: Int) -> Int {
    // Przykład podstawowy
    if n <= 1 {
        return 1
    }
    // Przykład rekurencyjny
    return n * factorial(n - 1)
}
// Przykład wywołania
let result = factorial(5) // 120

Zalety:

  • Eleganckie rozwiązanie dla problemów o strukturze podobnej do siebie (np. przechodzenie przez drzewa).
  • Kod bardziej czytelny w niektórych przypadkach.

Wady:

  • Może zużywać dużo pamięci (stos wywołań).
  • Możliwość przepełnienia stosu przy zbyt głębokiej rekursji.
  • Czasami mniej wydajne niż rozwiązania iteracyjne.