Schlüsseldifferenz: Beim Programmieren kann Rekursion unter Berücksichtigung einer rekursiven Funktion erklärt werden. Eine rekursive Funktion ruft sich erneut auf, um den Code zu wiederholen. Auf der anderen Seite wird die Iteration durch eine iterative Funktion erreicht, die eine Schleife durchläuft, um einen Teil des Codes zu wiederholen.
Bei der Programmierung werden Rekursion und Iteration verwendet, um Wiederholungen zu erzielen. Sie beziehen sich auf einen Prozess, der sich mehrmals wiederholt. Rekursion basiert auf einem Ansatz, bei dem sich etwas auf sich selbst bezieht, bis eine Bedingung erfüllt ist. Eine Methode gilt als rekursiv, wenn sie sich direkt oder indirekt wie - aufrufen kann.
{
... Name() ...
}
oder
ungültiger Name ()
{
... Spiel () ...
}
ungültiges Spiel () {
... Name() ...
}
Für eine erfolgreiche Rekursion muss bedacht werden, dass jeder Aufruf, der im Rekursionsprozess erfolgt, die Berechnung vereinfachen muss. Rekursion wird durch die Definition eines Basisfalls erreicht.
int Fakultät (int N)
{
wenn (N == 0) 1 zurückgeben;
sonst Rückgabe (N * -Faktor (N-1));
}
In diesem Beispiel ist Rekursion leicht in der Anweisung (N * factorial (N-1)) zu sehen, wo die Fakultät erneut aufgerufen wird. Rekursion ist sehr hilfreich, da sie den Code verkürzt. Die Rekursion ist jedoch in der Leistung etwas langsam.
Funktionsfaktor (n)
{
var Schleife, Ergebnis;
Ergebnis = 1;
for (Schleife = 1; Schleife <= n; Schleife ++)
{
Ergebnis = Ergebnis * Schleife;
}
Ergebnis zurückgeben;
}
In diesem Beispiel wird eine Schleife durch die Verwendung von ganzen Zahlen von 1 bis n erreicht, und die Anweisung loop <= n wird als Kriterium zum Stoppen der weiteren Schleife verwendet. Somit können wir schließen, dass die gleichen Ergebnisse durch Rekursion und Iteration erzielt werden können. Beide basieren jedoch auf etwas unterschiedlichen Ansätzen. Jeder rekursive Algorithmus kann auch unter Verwendung von Iterationen (Schleifen) geschrieben werden.
Vergleich zwischen Rekursion und Iteration:
Rekursion | Iteration | |
Definition | Rekursion bezieht sich auf eine rekursive Funktion, in der sie sich erneut aufruft, um den Code zu wiederholen. | Die Iteration wird durch eine iterative Funktion erreicht, die einen Loop wiederholt, um einen Teil des Codes zu wiederholen. |
Wichtiger Punkt | Ein Basisfall muss ermittelt werden | Eine Beendigungsbedingung muss ermittelt werden |
Performance | Vergleichsweise langsam | Vergleichsweise schnell |
Speichernutzung | Vergleichsweise mehr | Vergleichsweise weniger |
Code | Kleiner | Länger |
Unendliche Wiederholung | Unendliche Rekursion kann das System zum Absturz bringen | Endlosschleifen belegt wiederholt CPU-Zyklen |
Struktur | Auswahl | Wiederholung |
Lokale Variablen | Nicht benötigt | Erforderlich |