Rekurencja w Javie | Wyjaśnione

Rekurencja w Javie | Wyjaśnione
Podejście rekurencji jest bardzo odpowiednie dla tych problemów, które można podzielić na mniejsze, prostsze i powtarzające się problemy. Jest to procedura, w której funkcja wywołuje się wielokrotnie/rekurencyjnie i musi istnieć co najmniej jeden warunek zakończenia/zatrzymania, aby zatrzymać rekurencję. Metoda, która sama się nazywa, jest opisana jako funkcja rekurencyjna a cały proces jest znany jako rekurencja w Javie.

Ten pismo przedstawia głębokie zrozumienie następujących pojęć związanych z rekurencją Java:

  • Co to jest rekurencja w Javie
  • Podstawowa składnia funkcji rekurencji
  • Jak pracować z rekurencją Java

Więc zacznijmy!

Co to jest rekurencja w Javie

Zwykle jesteśmy świadkami funkcji wywołującej inne funkcje lub funkcje. Jednak funkcja rekurencyjna wzywa się wielokrotnie. Poniższe fragmenty przedstawiają, w jaki sposób normalna metoda różni się od metody rekurencyjnej.

Podstawowa składnia normalnej funkcji

Public void FirstFunction ()

System.na zewnątrz.println („To jest normalna funkcja”);
Secondfunction ();

Powyższy fragment pokazuje, jak wygląda normalna funkcja zdefiniowana przez użytkownika.mi. Ma kilka instrukcji (kod) i wywołuje nazwaną funkcję Secondfunction ().

Podstawowa składnia funkcji rekurencyjnej

Teraz rzućmy okiem na fragment poniżej, aby zrozumieć, jak wygląda funkcja rekurencyjna:

Public void FirstFunction ()

System.na zewnątrz.println („To jest funkcja rekurencyjna”);
FirstFunction ();

Rozważ poniższą liczbę, aby zrozumieć, jak będzie działać powyższa funkcja rekurencyjna:

Powyższy rysunek pokazuje, że funkcja wzywa się w sposób ciągły i.mi. Występuje nieskończony scenariusz. Teraz musisz zastanawiać się, czy funkcja wzywa się w sposób ciągły? Dobrze! Musimy zdefiniować kryteria zakończenia, aby w pewnym momencie zatrzymać taką funkcję.

Warunek zatrzymania/zakończenia

Na razie jasne jest, że musi istnieć warunek, który będzie kontrolował przepływ funkcji rekurencyjnej. W kategoriach programowych warunek, który zatrzymuje funkcję, aby się wywołać, jest określany jako Warunek zatrzymania Lub przypadek podstawowy.

Składnia funkcji rekurencyjnej z warunkami zatrzymania będzie wyglądać mniej więcej tak:

Public void FunctionName ()

funkcja ();
// Warunek zakończenia;

Warunki zatrzymania może być dowolnym warunkami w zależności od różnych okoliczności.

Przykłady rekurencji Java

Ta sekcja zapewni szczegółowe zrozumienie, w jaki sposób funkcja rekurencyjna działa z przypadkiem podstawowym w Javie.

Przykład

Poniższy fragment pobrany bierze numer od użytkownika i znajduje czynnik tej liczby:

Klasa publiczna
static int FindFactorial (int num)
if (num == 0)
zwrot 1;

w przeciwnym razie
return (num * FindFactorial (num - 1));


W powyższym fragmencie kodu warunek IF-ELSE służy do zatrzymania rekurencji, gdy „num” staje się równe „0”.

public static void main (string [] args)
Skaner Scan = nowy skaner (system.W);
System.na zewnątrz.println („Wprowadź numer dodatnią:”);
liczba int = skanowanie.NextIt ();
if (liczba < 0)
System.na zewnątrz.println („Wpisałeś nieprawidłowy numer:”);
w przeciwnym razie
int wynik = FindFactorial (liczba);
System.na zewnątrz.println („Factorial:” + wynik);

W głównej metodzie pobieramy numer od użytkownika, weryfikując, że albo numer jest prawidłowy lub nie, a jeśli numer jest prawidłowy, to zadzwoń FindFactorial () metoda. Cały kod wygeneruje następujące dane wyjściowe:

Wyjście uwierzytelnia funkcję rekurencyjną działa prawidłowo i poprawnie obliczyło czynnik 6.

Wniosek

W Javie proces, w którym funkcja wywołuje się wielokrotnie, nazywa się funkcja rekurencyjna/metoda podczas gdy cały proces jest znany jako rekurencja. Przypadek podstawy/zatrzymania musi być zdefiniowany w funkcjach rekurencyjnych, aby zatrzymać rekurencję w pewnym momencie, że funkcja nigdy nie zatrzyma się i wywoła nieograniczoną liczbą razy. Ten zapis wyjaśnia rekurencję, różnicę między funkcją normalną i rekurencyjną oraz jak tworzyć funkcje rekurencyjne w Javie.