Hvordan Inkluder Rekursjon i Java

Hvordan Inkluder Rekursjon i Java


En rekursiv funksjonskall seg selv som en del av beregningsprosessen. Selv rekursjon kan være vanskelig å forstå i starten, en grundig forståelse av hvordan det fungerer kan forbedre din evne som en Java programmerer. Rekursjon er spesielt nyttig i algoritmisk utvikling fordi mange begreper i matematikk og informatikk naturlig egner seg til uttrykk rekursivt. Det er derfor det er viktig for en Java programmerer å vite hvordan man skal inkludere rekursjon i sitt program når det er nødvendig.

Bruksanvisning

1 Finn ut om rekursjon er egnet for ditt behov. Du må være i stand til å uttrykke beregnings prosessen involvert i å løse problemet i form av gjentatte samtaler til seg selv. Et populært eksempel er fakultetet beregningen som er resultatet av å multiplisere en rekke tall opp til "N" og kan uttrykkes som en rekursiv beregning.

2 Bestemme at du kan bruke splitt-og-hersk-strategi for å løse problemet. For eksempel, "Quicksort» -metoden som er avhengig av rekursiv beregning under sorteringsprosessen. På tilsvarende måte, må du være i stand til å dele problemet opp i mindre biter og behandle dem rekursivt.

3 Lag Java metoden som du vil ringe rekursivt. Sørg for at din Java-metoden inneholder alle de nødvendige seks komponenter, nemlig modifier, returtype, metodenavn, parameterliste, unntakslisten og metoden kroppen.

For eksempel definerer følgende linje en metode kalt "quicksort ()" som aksepterer en matrise som skal sorteres sammen med venstre og høyre indekser:

void Quicksort (int arr [], int venstre, int høyre) {}

4 Pass på at du inkluderer kallet til seg selv inne i metoden som inneholder rekursive beregningen. For eksempel, på innsiden av "quicksort ()" metoden, følgende samtaler til mer "quicksort ()" metoder kan være funnet:

int index = partisjon (arr, venstre, høyre);

if (venstre <index - 1)

Quicksort (arr, venstre, index - 1);

if (index <høyre)

Quicksort (arr, indeks, høyre);

Parametere som sendes til den påfølgende rekursive kall må være mindre enn de forrige. Dette er et viktig element i splitt-og-hersk-strategi.

5 Test rekursive funksjonskall. Du kan definere en klasse for å teste rekursjon og en "main ()" metoden inne det å ringe rekursiv funksjon og sikre at den fungerer som den skal. For eksempel:

klasse Rekursjon {

public static void main (String args []) {}

}