Rekursion ist eigentlich kein Sprachfeature, sondern nur eine einfache Programmiertechnik. Wenn etwas rekursiv abläuft, dann bedeutet das, dass eine Funktion sich selbst ruft, bzw. eine Funktion „X“ andere Funktionen ruft, die dann wieder die Funktion „X“ rufen. Wenn X also die Funktion Y ruft, Y ruft Z und Z ruft wieder X, auch dann haben wir eine Rekursion.
Wenn sich eine Funktion selbst ruft, kann man das häufig auch mit einer Schleife abbilden und man sollte sich das auch durchaus überlegen. Ein rekursiver Funktionsaufruf ist dann sinnvoll, wenn man für jeden einzelnen Funktionsaufruf Variablen benötigt und man die darin gespeicherten Informationen nicht wieder verlieren möchte, bis der rekursive Funktionsaufruf zurückkehrt. Bei eindimensionalen Objekten (Arrays oder Listen) werden daher häufig Schleifen verwendet. Bei mehrdimensionalen, wie Bäumen oder einem Document Object Model (DOM) wird die Sache allerdings schwieriger.
In Vorbereitung auf das nachfolgende Kapitel, werden wir uns nun Rekursionen ansehen. Dabei werden wir Wert auf die Funktionsweise legen, aber auch, wie und wann man Rekursionen vermeiden kann.
Um Rekursion aufzuzeigen, verwende ich gerne die Fibonacci-Zahlenreihe, da sie rekursiv einfach zu berechnen ist. Die Fibonacci-Folge ist eine Funktion, die für den Wert 0 Null zurückgibt und für den Wert 1 Eins. Jeder nachfolgende Wert ist die Summe der beiden vorhergehenden Werte. ... (Weiter auf Homepage) https://www.proggen.org/doku.php?id=c:tutorial:recursion
- run the program
The Project is created with Clion form developer Jet Brains (Homepage: https://www.jetbrains.com/).