03 - Ricorsione

251 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
251
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

03 - Ricorsione

  1. 1. RICORSIONE Talk 3
  2. 2. DIGRESSIONE: STACK E HEAP
  3. 3. DIGRESSIONE: STACK E HEAP
  4. 4. DIGRESSIONE: CODICE RIENTRANTECodice che è possibile eseguire più volte in contemporanea. • Non si modifica durante lesecuzione. • Non invoca routine non rientranti. • Usa solo variabili allocate sullo stack. • Non modifica aree di memoria condivisa (niente variabili globali o statiche).
  5. 5. Ricorsione: vedi: Ricorsione.
  6. 6. FUNZIONI RICORSIVE program Recursion;! {$APPTYPE CONSOLE}! ! procedure Recurse(I: Integer);! begin! Writeln(I);! Recurse(I + 1);! end;! ! begin! Recurse(0);! end.
  7. 7. FUNZIONI RICORSIVEpublic class Recurse {! public static void main(String[] args) {! recurse(0);! }!! private static void recurse(int i) {! System.out.println(i);! recurse(i + 1);! }!}
  8. 8. FUNZIONI RICORSIVE (function recurse(i) {! console.log(i);! recurse(i++);! })(0);
  9. 9. FUNZIONI RICORSIVE10 I = 0!20 PRINT I!30 I = I + 1!40 GOSUB 20
  10. 10. 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.
  11. 11. CONDIZIONE DITERMINAZIONE
  12. 12. ESEMPIO: MERGESORT
  13. 13. PROBLEMI RICORSIVINon ci sono problemi intrinsecamentericorsivi, ma algoritmi ricorsivi cherisolvono i problemi.
  14. 14. STRUTTURE DATI RICORSIVE• Albero dei parametri di RBI. • Database delle anagrafiche di BBox. •I punti della nuvola di punti.
  15. 15. OTTIMIZZAZIONE DI STRUTTURE DATI• Implementazioni iterative di algoritmi ricorsivi. • Strutture dati ausiliarie.
  16. 16. Ricorsione: se non lhai ancora capita vedi: Ricorsione.

×