Kurz erklärt
Eine Technik, bei der eine Funktion sich selbst aufruft, um ein Problem zu lösen, indem es in kleinere, gleichartige Teilprobleme zerlegt wird.
Genauer
Jede rekursive Funktion braucht einen Abbruchfall (Basisfall), der ohne weiteren rekursiven Aufruf direkt beantwortet wird — fehlt dieser, ruft sich die Funktion endlos selbst auf, bis der Speicher (Stack) überläuft. Viele rekursive Lösungen lassen sich auch iterativ mit einer Schleife umsetzen; Rekursion ist oft eleganter lesbar, iterative Lösungen sind meist speicher- und performanceschonender.