Die Grundidee des rekursiven Algorithmus -Designs ist:
Für ein komplexes Problem zerlegt das ursprüngliche Problem in mehrere relativ einfache Unterprobleme und fortzusetzen, bis das Unterproblem so einfach ist, dass es direkt gelöst werden kann, dh der Ausgang der Rekursivität, damit das ursprüngliche Problem rekursiv gelöst werden kann.
Wenn Sie rekursive Algorithmen durchführen, müssen Sie den Ausgang erfassen, dh eine klare rekursive Endbedingung, wenn Sie rekursive Algorithmen durchführen. Das ist sehr wichtig. Tatsächlich ist dieser Ausgang sehr leicht zu verstehen. Es ist nur ein Zustand. Wenn dieser Zustand erfüllt ist, wiederholen wir uns nicht mehr.
Der Schlüssel zu verstehen ist:
(1) Rekursive Ausgang
(2) Der Bodenschub nähert sich allmählich dem Ausgang
Rekursion ist das Verhalten der Methode selbst, die sich selbst nennt. Achten Sie darauf, den Rekursionsheader zu schreiben, dh wann Sie eine Rekursion beenden.
Vermeiden Sie einen Teufelskreis.
Beispiel 1, drucken 1 ~ 100 durch rekursiv
Paket com.lanhuigu.base; öffentliche Klasse CurSIsionTest {private static int i = 0;/** * rekursiv 1 bis 100 */public static void testcursion01 () {i ++; // Selbstvertrauen, wenn (i <= 100) {// Anrufback als weniger als oder gleich 100, da der Rückruf ausspringt, um den Rückruf zu vermeiden, wird der Rückruf von der Rückruf aussteigen. System.out.println(i);testCursion01();// Callback: Call itself} else {System.out.println("Game Over!");}}public static void main(String[] args) {testCursion01();// Print 1~100}}Beispiel 2: Berechnen Sie rekursiv die Faktorial einer bestimmten Zahl
package com.lanhuigu.base;public class CursionTest {/** * Recursively calculate factorial of a certain number*/public static int testFactorial(int n) {if (n == 1) {return 1;} else {return n*testFactorial(n-1);}}public static void main(String[] args) {System.out.println (testfactorial (5)); // Berechnen Sie die Faktorie von 5}}In Bezug auf rekursive Berechnungsfaktoren, rekursive Gedächtnisanalyse -Strukturdiagramm:
Stellen Sie zuerst die lange Linie ein, schließen Sie schließlich die Linie und ziehen Sie dann den Fisch an Land.
Zusammenfassen
In diesem Artikel geht es um die Beispielanalyse des rekursiven Algorithmus von Java in diesem Artikel. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!