03 - ricorsione

16
RICORSIONE Talk 3

Upload: federico-russo

Post on 17-May-2015

146 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 03 - Ricorsione

RICORSIONETalk 3

Page 2: 03 - Ricorsione

DIGRESSIONE: STACK E HEAP

Page 3: 03 - Ricorsione

DIGRESSIONE: STACK E HEAP

Page 4: 03 - Ricorsione

DIGRESSIONE: CODICE RIENTRANTE

Codice che è possibile eseguire più volte in contemporanea.

• Non si modifica durante l'esecuzione.

• Non invoca routine non rientranti.

• Usa solo variabili allocate sullo stack.

• Non modifica aree di memoria condivisa (niente variabili globali o statiche).

Page 5: 03 - Ricorsione

Ricorsione:

vedi: Ricorsione.

Page 6: 03 - Ricorsione

program Recursion;!{$APPTYPE CONSOLE}!!procedure Recurse(I: Integer);!begin! Writeln(I);! Recurse(I + 1);!end;!!begin! Recurse(0);!end.

FUNZIONI RICORSIVE

Page 7: 03 - Ricorsione

public class Recurse {! public static void main(String[] args) {! recurse(0);! }!! private static void recurse(int i) {! System.out.println(i);! recurse(i + 1);! }!}

FUNZIONI RICORSIVE

Page 8: 03 - Ricorsione

(function recurse(i) {! console.log(i);! recurse(i++);!})(0);

FUNZIONI RICORSIVE

Page 9: 03 - Ricorsione

10 I = 0!20 PRINT I!30 I = I + 1!40 GOSUB 20

FUNZIONI RICORSIVE

Page 10: 03 - Ricorsione

DIVIDE AND CONQUER

• Suddividere il problema in sotto problemi.

• Risolvere ciascun problema nello stesso esatto modo del problema principale.

• Mettere insieme i risultati dei sotto problemi.

Page 11: 03 - Ricorsione

CONDIZIONE DI TERMINAZIONE

Page 12: 03 - Ricorsione

ESEMPIO: MERGESORT

Page 13: 03 - Ricorsione

PROBLEMI RICORSIVI

Non ci sono problemi intrinsecamente ricorsivi, ma algoritmi ricorsivi che risolvono i problemi.

Page 14: 03 - Ricorsione

STRUTTURE DATI RICORSIVE

• Albero dei parametri di RBI.

• Database delle anagrafiche di BBox.

• I punti della nuvola di punti.

Page 15: 03 - Ricorsione

OTTIMIZZAZIONE DI STRUTTURE DATI

• Implementazioni iterative di algoritmi ricorsivi.

• Strutture dati ausiliarie.

Page 16: 03 - Ricorsione

Ricorsione:

se non l'hai ancora capita vedi: Ricorsione.