Home » Tutorials » Programmierkonzepte » Rekursive Algorithmen

Rekursive Algorithmen

Einleitung

In der Programmiersprache Delphi – eigentlich ja Object Pascal – können Prozeduren und Funktionen sich selbst aufrufen. Diese Programmiertechnik bezeichnet man als rekursives Programmieren.
Interessant ist, wie mit dem Programm-Werkzeug Rekursive Programmiertechnik sehr komplexe Aufgabenstellungen durch erstaunlich kurze und einfache Algorithmen programm-technisch sauber gelöst werden können.
Unser Lösungsplan, nach dem der Computer die Daten verarbeiten soll, stellt für den Computer eine Art Rezept dar, wie er vorzugehen hat. Eine solche eindeutige Beschreibung eines Verfahrens heißt Algorithmus.
Ein Algorithmus beschreibt präzise, wie der Computer aus Eingabedaten schrittweise nach dem ihm übergebenen Verarbeitungs“rezept“ die gewünschten Ausgabedaten zu erzeugen hat. (Eingabe => Verarbeitung => Ausgabe).
Rekursive Algorithmen sind dann also „Computerrezepte“, die mit Varianten von sich selber beschrieben werden (siehe Schritt Rekursion). Rekursion ist daher nicht nur eine Programmiertechnik, sondern ein wichtiges algorithmisches Prinzip zur Problemlösung.
Rekursives Denken – liebe Leserin, lieber Leser, Du hast es vielleicht schon festgestellt – ist eine Denkweise, die uns, um sie zu verstehen, um manche Stunde Nachtruhe bringen kann. Aber das sollte es uns wert sein, wenn wir dafür bei unserer Programmierung durch ganz einfache rekursive Methoden viele Tagstunden harte Arbeit am Programmiertisch einsparen können.
Solltest Du zwischendurch den ganzen Kram hinhauen wollen, weil Du es einfach nicht kapierst, dann kann ich Dich nur um Geduld bitten. Ich selber beiße mir heute noch die Zähne an der Rekursion aus. Mir geht’s also auch nicht besser! Aber ich versuche es.
Übrigens: Hast Du etwa die bekannten russischen Puppen zu Hause, von denen man eine in die andere stecken kann? Matroschkas nannten wir sie.
Hier hast Du ein typisches Anschauungsmodell für Rekursion: Willst Du alle Puppen in der großen Matroschka aufheben, musst Du IMMER DER REIHE NACH jeweils die nächstkleinere Figur verstauen. Anders geht das nicht!!
Und umgekehrt ist es genau so!!
Eben hast Du ein rekursives „Rezept“ abgearbeitet – zumindest gedanklich.
Ehe wir beginnen, noch ein Wort zu diesem Tutorial:
In meinem Englisch-Wörterbuch wird tutorial mit Übung unter Anleitung übersetzt. An diese deutsche Bedeutung will ich mich in diesem Tutorial halten.
Du wirst hier einiges finden, das Du selbst probieren kannst. Du wirst aber auch manchen Satz finden, den ich mit einem Augenzwinkern geschrieben habe. Ich meine, Lernen muss nicht immer eine todlangweilige Angelegenheit sein. Ich hoffe nur, es gelingt mir.
Ich bin kein Lehrer, und gleich gar kein Informatiklehrer, aber ich hoffe, dass ich Dir die Rekursion trotzdem etwas schmackhaft machen kann. Viel Spaß dabei.
Solltest Du durch einen guten Gedanken eine Sache aufhellen können, lass es mich wissen. Danke schon jetzt.
Anmerkung: Die Datei mit den Beispielen findest Du hier.