Rekursion in Java | Erklärt

Rekursion in Java | Erklärt
Der Rekursionsansatz ist für die Probleme, die in kleinere, einfachere und sich wiederholende Probleme unterteilt werden können, sehr geeignet. Es handelt sich um ein Verfahren, bei dem sich eine Funktion wiederholt/rekursiv aufruft und es mindestens eine Kündigung/Stoppbedingung geben muss, um die Rekursion zu stoppen. Die Methode, die sich selbst nennt, wird als als beschrieben rekursive Funktion und der gesamte Prozess ist als bekannt als Rekursion in Java.

Dieses Schreiben zeigt ein tiefes Verständnis der folgenden Konzepte im Zusammenhang mit der Java -Rekursion:

  • Was ist Rekursion in Java
  • Grundlegende Syntax der Rekursionsfunktion
  • Wie man mit Java -Rekursion arbeitet

Also lasst uns anfangen!

Was ist Rekursion in Java

Normalerweise beobachten wir eine Funktion, die eine andere Funktion oder Funktionen aufruft. Eine rekursive Funktion ruft sich jedoch wiederholt auf. Die folgenden Snippets zeigen, wie sich eine normale Methode von einer rekursiven Methode unterscheidet.

Grundlegende Syntax der normalen Funktion

öffentliche void Firstfunction ()

System.aus.println ("Dies ist eine normale Funktion");
SecondFunction ();

Das obige Snippet zeigt, wie eine normale benutzerdefinierte Funktion ich aussieht.e. Es verfügt über nur wenige Anweisungen (Code) und ruft eine Funktion namens auf Secondfunction ().

Grundlegende Syntax der rekursiven Funktion

Schauen wir uns nun das untergegebene Snippet an, um zu verstehen, wie eine rekursive Funktion aussieht:

öffentliche void Firstfunction ()

System.aus.println ("Dies ist eine rekursive Funktion");
FirstFunction ();

Betrachten Sie die untergegebene Zahl, um zu verstehen, wie die obige rekursive Funktion funktioniert:

Die obige Abbildung zeigt, dass die Funktion sich kontinuierlich aufruft i.e. Ein unendliches Schleifenszenario tritt auf. Jetzt müssen Sie sich fragen, ob die Funktion sich ununterbrochen aufruft, wie wird sie dann aufhören? Also! Wir müssen die Terminierungskriterien definieren, um eine solche Funktion irgendwann zu stoppen.

Anstiegs-/Beendungsbedingung

Derzeit ist klar, dass es eine Bedingung geben muss, die den Fluss der rekursiven Funktion steuert. In programmatischer Hinsicht wird die Bedingung, die die Funktion zum Aufrufen von sich selbst stoppt, als die bezeichnet Stillstand oder Basisfall.

Die Syntax der rekursiven Funktion mit der stillenden Bedingung sieht ungefähr so ​​aus:

public void FunktionName ()

Funktionsname();
// Kündigungsbedingung;

Die Stoppbedingung kann je nach den verschiedenen Umständen eine beliebige Bedingung sein.

Beispiele für Java -Rekursion

In diesem Abschnitt wird ein detailliertes Verständnis dafür geliefert, wie die rekursive Funktion mit dem Basisfall in Java funktioniert.

Beispiel

Das untergegebene Snippet nimmt eine Nummer vom Benutzer und findet das Faktor für diese Nummer:

öffentliche Klasse Faktorialklasse
static int findFactorial (int num)
if (num == 0)
Rückkehr 1;

anders
return (num * findFactorial (num - 1));


Im obigen Code-Snippet wird die IF-ELSE-Bedingung verwendet, um die Rekursion zu stoppen, wenn „Num“ gleich „0“ wird, gleich „0“.

public static void main (String [] args)
Scanner Scan = neuer Scanner (System.In);
System.aus.println ("eine positive Zahl eingeben:");
int nummer = scannen.NextInt ();
if (Nummer < 0)
System.aus.println ("Sie haben eine ungültige Nummer eingegeben:");
anders
int result = findFactorial (Nummer);
System.aus.println ("faktorial:" + result);

In der Hauptmethode holen wir die Nummer vom Benutzer ab und überprüfen, ob entweder die Nummer gültig ist oder nicht. Wenn die Nummer gültig ist findfactorial () Methode. Der gesamte Code generiert die folgende Ausgabe:

Die Ausgabe authentifiziert, dass die rekursive Funktion ordnungsgemäß funktioniert und das Faktor von 6 korrekt berechnet hat.

Abschluss

In Java wird ein Prozess, bei dem sich eine Funktion immer wieder aufruft, als a genannt rekursive Funktion/Methode Während der gesamte Prozess als bekannt ist als Rekursion. In den rekursiven Funktionen muss ein Basis-/Stopp -Fall definiert werden. Dieses Schreiben erläutert die Rekursion, den Unterschied zwischen der normalen und rekursiven Funktion und wie rekursive Funktionen in Java erzeugen können.