Ricorsione

Sfruttiamo lo stack per memorizzare dati

Esempio fattoriale:

import java.util.*;
public class Fattoriale {                                                                    public static int Ricorsione(int num){                                if(num==0) return 1;
else return Ricorsione(num-1)*num;                                                 }

public static void main (String args[]) {                                          int N;
Scanner in = new  Scanner(System.in);       System.out.print("Inserire un numero: ");
N = in.nextInt();                                               System.out.println("\nFattoriale di " + N + " ---> " + Ricorsione(N) + "\n");                                                                                                  }

}

Si ha una ricorsione quando un metodo richiama se stesso per un certo numero di volte. Ogni ricorsione può essere "tradotta" in iterazione, pertanto se utilizzarla o meno spetta al programmatore che deve tenere conto di due cose:

  1. Codice più leggibile
  2. Utilizza più memoria rispetto ai cicli

Dunque abbiamo un pro e un contro, insomma bisogna vedere se è più conveniente utilizzare la ricorsione o un ciclo iterativo.

Esempi sulla ricorsione

- in formato .java -

Somma ricorsiva

Esempio: la somma ricorsiva di 4 è uguale a 4+3+2+1 = 10.

Link: 

https://mega.nz/#!rM9FAaCR!Yyy26f-lvzsILXu42Rw7WFh_xjrP0mw9oqPV6nGdo-U

Fattoriale

Esempio: il fattoriale di 5 è uguale a 5x4x3x2x1=120.

Link:

https://mega.nz/#!XYkjgCTa!O2m1U3VUNk13c2Jx7JORhIMrZMwZEHfEh4CtCAsoGHc

Fibonacci

Esempio: i primi 6 numeri della sequenza di fibonacci sono        1 - 1 - 2 - 3 - 5 - 8 .

Link:

https://mega.nz/#!rIdjkJpL!jcjx2WDsFiaEw9r1ZA0Zha9MkpkE3qO66jRnyStpr7k
javaperstudenti.webnode.it
Creato con Webnode
Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia