Iteration und Rekursion

Methoden können in der Programmierung von Java unterschiedlich verwendet werden. Man unterscheidet hierbei zwischen der iterativen und rekursiven Programmierung. Bei der Iteration (lat. Wiederholung) werden mehrere Anweisungen aneinander gereiht mit hilfe von Kontrollstrukturen oder genauer durch Schleifen (if, while,…). Das Programm läuft dann solange, bis eine Abbruchbedingung durch die Kontrollstrukturen eintritt.

Bei der Rekursion (lat. auf etwas zurückkommen) spricht man von Methoden, die sich im Programmdurchlauf immer wieder selber aufrufen bis ein Abbruch erfolgt. Hierbei ist zu erwähnen, dass sich alle rekursiven Programmstellen auch iterativ lösen lassen und umgedreht. Aber warum sollte man dann überhaupt rekursiv programmieren, wenn man auch alles iterativ lösen kann ? Wir werden dir nun die Vor- und Nachteile von der Rekursion und Iteration aufzeigen:

Vorteile und Nachteile

RekursionIteration
benötigt deutlich mehr RAM (-)weniger  Datenmüll im RAM (+)
Code übersichtlicher (+)Code unübersichtlicher (-)
schwerer zu verstehen von Anfängern (-)leicht zu verstehen (+)

Nun werden wir dir noch zeigen, wie du rekursiv und iterativ programmieren kannst. Die iterative Programmierung dürfte die bereits bekannt sein, wenn du unser Kapitel zu “Java lernen” schon gelesen hast. Wir werden es dir aber trotzdem nochmal zeigen an einem Beispiel, das wir dann auch für die Rekursion verwenden werden. Wir wählen als Beispiel die Fakultätsberechnung, mit der man sehr gut die Unterschiede zwischen Iteration und Rekursion aufzeigen kann. Nun aber erst einmal ein paar Informationen zur Fakultät:

Nun müsstest du die Fakultätsberechnung verstanden haben.Im Folgenden werden wir die Iteration und Rekursion für unser Beispiel zeigen Wir werden dir nun erst die iterative Lösung zeigen mit der du die Fakultät von n berechnen kannst:

Iteration

Nun die rekursive Lösung:

Rekursion

Das gesamte Programm zu Iteration und Rekursion kannst du dir hier herunterladen: