Una funzione ricorsiva chiama se stessa come parte del processo di calcolo. Anche se la ricorsione può essere difficile da capire a prima , una conoscenza approfondita di come funziona può migliorare la vostra capacità come programmatore Java . La ricorsione è particolarmente utile in fase di sviluppo algoritmico perché molti concetti in matematica e informatica , naturalmente si prestano ad essere espressi in modo ricorsivo . Questo è il motivo per cui è importante per un programmatore Java per sapere come includere la ricorsione nel suo programma quando è necessario . Istruzioni
1
Determinare se la ricorsione è adatto per il vostro bisogno . Devi essere in grado di esprimere il processo computazionale coinvolti nel risolvere il tuo problema in termini di ripetute chiamate a se stessa . Un esempio famoso è il calcolo del fattoriale , che è il risultato della moltiplicazione di una serie di numeri fino a "N " e può essere espresso come un calcolo ricorsivo .
2
Decidere che è possibile applicare il divide et impera strategia per risolvere il tuo problema . Ad esempio, il metodo " quicksort " che si basa sul calcolo ricorsivo durante il processo di sequenziazione . In modo simile , è necessario essere in grado di dividere il problema in parti più piccole e di elaborarli in modo ricorsivo .
3
creare il metodo Java che si chiamerà in modo ricorsivo. Assicurarsi che il metodo Java contiene tutti i necessari sei componenti , vale a dire il modificatore , tipo di ritorno , nome del metodo, la lista dei parametri , la lista delle eccezioni e il corpo del metodo .
Per esempio , la seguente riga definisce un metodo chiamato " quicksort () " che accetta un array da ordinare insieme con gli indici di destra e di sinistra :
vuoto quicksort ( int arr [ ] , int sinistra , destra int ) { }
4
assicurarsi di includere la chiamata a se stesso all'interno del metodo che contiene il calcolo ricorsivo . Ad esempio , all'interno del metodo " quicksort ( ) " , le seguenti chiamate alla più " quicksort ( ) " metodi possono essere trovati :
int index = partizione ( arr , sinistra, destra) ;
< p > se ( a sinistra < indice - 1 ) per
quicksort ( arr , sinistra , indice - 1) ;
if ( index < destra ) per
quicksort ( arr , indice , a destra) ;
i parametri passati alla successiva chiamata ricorsiva deve essere più piccolo rispetto a quelli precedenti . Questo è un elemento essenziale per il divide et impera .
5
prova la chiamata di funzione ricorsiva . È possibile definire una classe per testare la ricorsione e un "main ( ) " metodo interno per chiamare la funzione ricorsiva e assicurarsi che funzioni correttamente . Per esempio :
classe
ricorsione {
public static void main (String args [ ] ) { } }