Die Programmierungstechnik eines Programms, das sich selbst ruft, wird als Rekursion bezeichnet. Rekursion wird häufig als Algorithmus in Programmiersprachen verwendet. Ein Prozess oder eine Funktion hat eine Methode, die sich in seiner Definition oder Beschreibung direkt oder indirekt aufrufen kann. Normalerweise wandelt es eine große und komplexe Problemschicht für Schicht in ein kleineres Problem um, das dem ursprünglichen Problem ähnlich ist. Die rekursive Strategie erfordert nur eine kleine Anzahl von Programmen, um die für den Problemlösungsprozess erforderlichen wiederholten Berechnungen zu beschreiben, wodurch die Menge an Code im Programm erheblich reduziert wird. Die Fähigkeit der Rekursion besteht darin, endliche Aussagen zur Definition eines unendlichen Satzes von Objekten zu definieren. Im Allgemeinen erfordert Rekursion Randbedingungen, rekursive Vorabschnitte und rekursive Renditesegmente. Wenn die Randbedingung nicht erfüllt ist, fahren Sie rekursiv fort. Wenn die Randbedingung erfüllt ist, kehren Sie rekursiv zurück. »Dies hat Baidu Encyclopedia gesagt.
Um es unverblümt auszudrücken, ist es die Operation, die von der rekursiven Methode selbst ausgeführt wird, die sich selbst nennt. Lassen Sie mich Ihnen ein Beispiel geben, um dieses Beispiel zu veranschaulichen, nämlich eine sehr berühmte Fibonacci -Sequenz.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368…
Es ist ersichtlich, dass die dritte Zahl durch Hinzufügen der ersten beiden Zahlen erhalten wird.
Dies bedeutet es, wenn Sie eine normale Schleife verwenden:
public class feibo {public static void main (String [] args) {int num1 = 0; int num2 = 1; int numn = 1; int n = 10; für (int i = 3; i <= n; i ++) {numn = num1+num2; Num1 = Num2; num2 = numn; } System.err.println (n+"Ergebnis ist:"+numn); }}Das Betriebsergebnis ist:
Das Ergebnis von 10 Zahlen ist: 34
Dies dient dazu, die normale Schleifenmethode für den Betrieb zu verwenden. Wenn Sie Rekursion verwenden, ist dies so:
public static int recursion (int n) {if (n == 1) {return 0; } if (n == 2) {return 1; } return rekursion (n-1)+rekursion (n-2); }Rekursion erfordert eine Endbedingung, und im Fall muss die Rekursion nicht weiter aufrufen und die Rekursion beenden. Die Endbedingung des obigen Falles ist, dass n = 1 oder 2, wenn es 0 oder 1 zurückgibt, anstatt die rekursive Methode selbst weiter aufzurufen.
Die beiden Hauptbedingungen für die Rekursion sind es, sich selbst anzurufen und die Rekursion zu beenden.
Da die Rekursion von sich selbst genannt wird, verschwendet sie viele Ressourcen, die Laufzeit ist viel länger als die Schleife, die Laufzeit ist langsamer und die Effizienz niedrig.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.