Junior
Wat is recursief gedrag?
sobes.tech AI
Antwoord van AI
Het uitvoeren van code of functies die zichzelf aanroepen.
Belangrijke elementen:
- Basisgeval: De voorwaarde waaronder de recursie stopt. Zonder dit zou de recursie oneindig doorgaan.
- Recursief geval: Het deel van de functie waar deze zichzelf aanroept, meestal met een gewijzigde parameter.
Voorbeeld (berekening van factorial):
func factorial(_ n: Int) -> Int {
// Basisgeval
if n <= 1 {
return 1
}
// Recursief geval
return n * factorial(n - 1)
}
// Voorbeeld van aanroep
let result = factorial(5) // 120
Voordelen:
- Elegante oplossing voor problemen met een zelfde structuur (bijvoorbeeld het doorlopen van bomen).
- Meer leesbare code in sommige gevallen.
Nadelen:
- Kan veel geheugen gebruiken (oproepstack).
- Mogelijk stack overflow bij te diepe recursie.
- Soms minder efficiënt dan iteratieve oplossingen.