Die iterative Programmierung (von lat. Iterare = wiederholen) used im Gegensätze zur rekursiven Programmierung keine Selbstaufrufe, Sondern Schleif (Wiederholung von Anweisungen oder Anweisungsfolgen). Prinzipiell ist das Schweißen auch rekursive Algorithmen wie iterativ implementiert und umgekehrt.
Gegensätzlichkeit
In der Literatur war die Funktion wie wiederkehrender Programmstil . Der Benutzer hat mehr verschiedene Vorteile, wenn die Implementer vom Aufschreiben ihre elegans Rekursionen durch einfache Iterationen ersetzten:
- Bei iterativ Programmierung Kann den Speicherbedarf Schärfer Durch den Programmierer zugeschnitten und Kontrolliert Werden, wogegen bei rekursiven bei Jedem Selbstaufruf unvermeidlich vielen Prozedurkontext Geretta Wird.
- Daruber Hinaus ist der Speicherbedarf Für den einen programmierbaren Stapelspeicher programmiersprachlich schwer nicht kontrollierbar oder gar, Wovon sterben berüchtigten Stapelüberläufe Eine Folge Sind.
- Im rekursiven Programmierstil schweissen sich manche Szenarien nur durch eine sog. Rückrufunktion ( englische Callback-Funktion ) realisiert. Beispielsweise Wird bei Einer rekursive programmierten Traversierfunktion Eines Binärbaums of this Stets in Wadenfänger Ganz Durchlaufen und sterben Nutzfunktion in Einem Rückruf implementiert.
Im Gegensatz dazu Kann bei iterativem Programmierung des zu bear Beweidung Segment Jan Baum Durch Eine Suchfunktion angesteuert, stirbt Nutzfunktion nach Beliebers als Flach Anweisungsfolge BZW. wenn Unterprogramm implementiert und fast unmöglich ist (iterativ) Querschritt beim nächsten Element wiederholt werden. [1]
Beispiel
Ein Beispiel für die iterative Programmierung ist ein Datenbankdurchlauf ( Pascal ):
Prozedur durchlauf ; starten, während kein Datensatz vorhanden ist . Eof tun beginnen Befehl_1 ; Befehl_2 ; Befehl_3 ; Datensatz . Weiter ; Ende ; Ende ;
Dabei wurden Befehl_1, _2 und _3 solangewiederholt, und alle Datensätze durchlaufen.
Anmerkungen und Einzelhinweise
- Hochspringen↑ Siehe auch Traversierung (mit Codebeispielen) und Ben Pfaff: Eine Einführung in die Binary Search Trees und Balanced Trees. Free Software Foundation, Inc. Boston 2004, S. 47 „4.9.2 Traversal City Iteration“.