Ricorsione in java parte 4, Iterazione vs ricorsione
18 ottobre 2013  //  By:   //  Java  //  No Comment   //   542 Views

ITERAZIONE VS RICORSIONE

Confronteremo ora gli approcci iterativi e ricorsivi dei metodi fattoriale e fibonacci .

Proponiamo una soluzione iterativa per il problema fattoriale:

Iterazione e ricorsione si basano entrambe su istruzioni di controllo, l’iterazione si basa su for, while ecc, mentre la ricorsione su  istruzioni di controllo come if, if – else, ecc…

Entrambe richiedono una ripetizione e un controllo sulla terminazione, l’iterazione termina quando fallisce il controllo nel ciclo,  la ricorsione termina quando viene riconosciuto un caso base.
Entrambe possono ripetersi all’infinito se non convergono in nessuna delle precedenti situazioni.

La ricorsione presenta diversi aspetti negativi, invoca ripetutamente il metodo e ciò fa consumare memoria, ogni chiamata ricorsiva infatti provoca la creazione di una copia del metodo (le variabili). L’iterazione invece ha luogo all’interno del metodo evitando di copiare le varie chiamate ricorsive.
La ricosione è preferita in tutti quei casi in cui la suddivisione del problema nel caso base e nei sottoproblemi rispecchia il naturale svolgimento del problema che dobbiamo risolvere, mentre una soluzione iterativa potrebbe non essere così evidente. Risolvere un problema ricorsivamente può rendendolo snello e leggibile.

About the Author :

BI CONSULTING. Studente di Ingegneria Informatica, Sistemista Linux e appassionato di tutto ciò che sia tecnologico ma soprattutto Open Source. Distro: Debian e Arch LInux. Smartphone: Nexus / Lg G2 Buona Lettura  Visualizza il profilo su Linkedln

Leave a reply