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.