Erläuterung: Die Programmierungstechnik von Programm nennt sich selbst Rekursion.
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.
Drei Bedingungen für die Rekursion:
1. Randbedingungen
2. Abschnitt rekursiver Fortschritt
3.. Rekursives Segment rekursiv zurück
Wenn die Randbedingung nicht erfüllt ist, fahren Sie rekursiv fort. Wenn die Randbedingung erfüllt ist, kehren Sie rekursiv zurück.
Im Folgenden finden Sie zwei Beispielprogramme:
1. Verwenden Sie den Java -Code, um das Fakultät von 5 zu finden (Fabrik von 5 = 5*4*3*2*1)
Paket org.wxp.Recursion; / ***Berechnen Sie das Faktor von 5 (Ergebnis = 5*4*3*2*1)*@author meisterschaft.wong*/ public class Test01 {public static void main (String [] args) {System.out.println (f (5)); } public static int f (int n) {if (1 == n) return 1; sonst return n*(n-1); }} In dieser Frage werden die drei Rekursionsbedingungen analysiert:
(1) Randbedingungen: Faktor, multiplizieren Sie die letzte Zahl, dh 1, Rückgabe 1, und das Programm wird bis zum Ende ausgeführt;
(2) Rekursive Fortschrittsabschnitt: Wenn der aktuelle Parameter nicht gleich 1 ist, rufen Sie sich weiterhin an.
(3) rekursiv Rückgabebegment: Starten Sie mit der größten Zahl, wenn der aktuelle Parameter 5 ist, dann ist es 5*4, dh 5*(5-1), dh n*(n-1)
2. Verwenden Sie den Java -Code, um die Sequenz zu finden: 1, 1, 2, 3, 5, 8 ...... 40. Ziffernnummer
Paket org.wxp.Recursion; / *** Finden Sie die Sequenz: 1, 1, 2, 3, 5, 8 ...... 40. Ziffernnummer*/ public class test_02_fibonacci {public static void main (String [] args) {System.out.println (f (6)); } public static int f (int n) {if (1 == n || 2 == n) return 1; sonst return f (n-1) + f (n-2); }} 3. Problembeschreibung: Lösen Sie den Wert der 10. Position der Fibonacci -Sequenz? (Fibonacci-Sequenz, auch bekannt als die golden-dividierte Sequenz, bezieht sich auf eine Sequenz: 1, 1, 2, 3, 5, 8, 13, 21, ... In der Mathematik wird die Fibonacci-Sequenz in der folgenden rekursiven Methode definiert: f0 = 0, f1 = 1, fn = f (n-1) (n-2) (n-2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n> = 2) (n-2) (n-2))
Programmliste:
/** *<p> Titel: Java Rekursive Algorithmus Beispiel </p> *<p> Beschreibung: Verwenden Sie einen rekursiven Algorithmus, um den Wert der fünften Nummer der Fibonacci -Sequenz zu lösen. Fibonacci -Sequenz *Eingabeparameter: int n *Rückgabetyp: int */ public static int fun (int n) {if (1 == n || 2 == n) {return 1; } else {return (fun (n-1) + fun (n-2)); }} / ** *Methode Beschreibung: Hauptmethode *Eingabeparameter: String [] args *Rückgabetyp: void * / public static void main (String [] args) {System.out.println (Fun (10)); }}Die laufenden Ergebnisse sind wie folgt:
Kopieren Sie den Code wie folgt: 55