Vorgehen 1

Vorgehen 2

Vorgehen 3

Rekursion

Man unterscheidet zwei Arten der Rekursion!

Rekursion: Anmerkungen
▪ Die Rekursion ist manchmal die einzige Möglichkeit ein Problem zu lösen
▪ Probleme sind teilweise „aus sich heraus“ rekursiv
▪ ACHTUNG: Abbruchkriterium und damit Rekursionsende sorgfältig wählen
Rekursion: Vorteile
▪ Häufig kürzer und übersichtlicher aufzuschreiben
▪ Iterative Ansätze sind stellenweise schwer oder gar nicht zu formulieren, eine rekursive Lösung ist unter Umständen viel einfacher als eine iterative
▪ Spiegelt evtl. eine mathematische Notation wider
Rekursion: Nachteile
▪ Jeder Funktionsaufruf kostet Zeit, dadurch ist Rekursion prinzipiell langsamer als Iteration
▪ Jeder Funktionsaufruf kostet Speicherplatz (neue Variablen, der Kontext des Aufrufs muss gespeichert werden …)
--> ▪ Dadurch kann ein „stack overflow“ auftreten – aus Mangel an Speicherplatz stürzt das Programm ab