Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoCallisto Vianello Modificato 9 anni fa
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 5 8 4 7 1 3 6 5 x 8 4 7 1 3 622 5 x 4 7 1 3 682 5 8 x 7 1 3 64 2 x 5 8 7 1 3 6 2 5 x 4 7 1 3 6 2 4 5 8 x 1 3 67 2 4 5 x 8 1 3 6 5 2 8 4 7 1 3 6 2 5 8 4 7 1 3 6 2 4 5 8 7 1 3 6 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 2 4 5 7 8 x 3 61 x 2 4 5 7 8 3 6 1 2 4 5 7 8 x 63 1 2 x 4 5 7 8 6 1 2 3 4 5 7 8 x6 1 2 3 4 5 x 7 8 1 2 3 4 5 6 7 8 2 4 5 7 8 1 3 6 1 2 4 5 7 8 3 6 1 2 3 4 5 7 8 6 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 2 4 5 x 8 1 3 6 Continua…
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.