Sobes.tech
Intern

Wat is recursie?

sobes.tech AI

Antwoord van AI

Recursie is het proces waarbij een functie zichzelf aanroept. In programmeren is een recursieve functie een functie die zichzelf direct of indirect aanroept. Om een oneindige lus te voorkomen, moet een recursieve functie een basisgeval hebben, waarbij ze stopt met zichzelf aanroepen.

Voorbeelden van gebruik:

  • Traverseren van datastructuren (bijvoorbeeld bomen).
  • Oplossen van problemen die kunnen worden opgesplitst in kleinere subproblemen van hetzelfde type (bijvoorbeeld het berekenen van factorialen).

Voorbeeld van het berekenen van factorialen met recursie:

def factorial(n):
  # Basisgeval: factorial van 0 is 1
  if n == 0:
    return 1
  # Recursief geval: factorial van n = n * factorial van (n-1)
  else:
    return n * factorial(n - 1)

# Voorbeeld van gebruik
result = factorial(5)
# result zal 120 zijn

Nadelen van recursie:

  • Kan veel geheugen gebruiken vanwege de oproepstack.
  • Kan minder efficiënt zijn in vergelijking met iteratieve oplossingen voor sommige problemen.
  • Kan leiden tot stackoverflow bij diepe recursieve aanroepen.