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