La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduzione agli algoritmi e strutture dati 2/ed T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein Copyright © 2005 – The McGraw-Hill Companies srl.

Presentazioni simili


Presentazione sul tema: "Introduzione agli algoritmi e strutture dati 2/ed T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein Copyright © 2005 – The McGraw-Hill Companies srl."— Transcript della presentazione:

1 Introduzione agli algoritmi e strutture dati 2/ed T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein Copyright © 2005 – The McGraw-Hill Companies srl Algoritmi come soluzioni di problemi computazionali. INTRODUZIONE Esempio1: problema dell’ordinamento. Input: a 1,a 2,...,a n Output: a' 1,a' 2,...,a' n permutazione (riarrangiamento) di a 1,a 2,...,a n tale che a' 1  a' 2 ...  a' n.

2 Introduzione agli algoritmi e strutture dati 2/ed T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein Copyright © 2005 – The McGraw-Hill Companies srl Soluzione1: Algoritmo InsertionSort. InsertionSort (A) n  lunghezza[A] for j  2 to n do  inserisce A[j] nella sequenza  ordinata A[1..j-1] x  A[j] i  j - 1 while i  1 and x < A[i] do A[i+1]  A[i] i  i – 1 A[i+1]  x

3 Introduzione agli algoritmi e strutture dati 2/ed T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein Copyright © 2005 – The McGraw-Hill Companies srl InsertionSort (A) n  lunghezza[A] for j  2 to n do  inserisce A[j] nella sequenza  ordinata A[1..j-1] x  A[j] i  j – 1 while i  1 and x < A[i] do A[i+1]  A[i] i  i – 1 A[i+1]  x void InsertionSort (vector A) { int i,j,n = A.size(); tipo x; for (j = 1; j < n; j++) { // inserisce A[j] nella sequenza // ordinata A[0..j-1] x = A[j]; i = j – 1; while (i >= 0 && x < A[i]) { A[i+1] = A[i]; i--; } A[i+1] = x; }

4 Introduzione agli algoritmi e strutture dati 2/ed T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein Copyright © 2005 – The McGraw-Hill Companies srl x x x x x x x x InsertionSort (A) n  lunghezza (A) for j  2 to n do  inserisce A[j] nella sequenza  ordinata A[1..j-1] x  A[j] i  j – 1 while i  1 and x < A[i] do A[i+1]  A[i] i  i – 1 A[i+1]  x

5 Introduzione agli algoritmi e strutture dati 2/ed T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein Copyright © 2005 – The McGraw-Hill Companies srl x 3 61 x x x x x InsertionSort (A) n  lunghezza (A) for j  2 to n do  inserisce A[j] nella sequenza  ordinata A[1..j-1] x  A[j] i  j – 1 while i  1 and x < A[i] do A[i+1]  A[i] i  i – 1 A[i+1]  x x Continua…


Scaricare ppt "Introduzione agli algoritmi e strutture dati 2/ed T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein Copyright © 2005 – The McGraw-Hill Companies srl."

Presentazioni simili


Annunci Google