La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Corso di Laurea Triennale in Ingegneria Gestionale Corso di Fondamenti di Informatica A. A. 2006 - 2007 A.Pinto Algoritmi di ordinamento 1 Gli Algoritmi.

Presentazioni simili


Presentazione sul tema: "Corso di Laurea Triennale in Ingegneria Gestionale Corso di Fondamenti di Informatica A. A. 2006 - 2007 A.Pinto Algoritmi di ordinamento 1 Gli Algoritmi."— Transcript della presentazione:

1 Corso di Laurea Triennale in Ingegneria Gestionale Corso di Fondamenti di Informatica A. A A.Pinto Algoritmi di ordinamento 1 Gli Algoritmi di ordinamento

2 Sistemi Informativi DEE - Politecnico di Bari A.PintoAlgoritmi di ordinamento2 Gli Algoritmi di Ordinamento - Generalità Lordinamento è il processo che permette di ottenere,a partire da un insieme di dati omogenei, un insieme ordinato, secondo un ordine crescente o decrescente,. Assunzione : consideriamo solo lordinamento di vettori contenenti numeri o lettere; I metodi considerati per descrivere lordinamento di un vettore sono : Ordinamento per selezione Ordinamento per scambio

3 Sistemi Informativi DEE - Politecnico di Bari A.PintoAlgoritmi di ordinamento3 Ordinamento per selezione/Selection-sort Lordinamento per Selezione seleziona lelemento con valore maggiore e lo scambia con il primo elemento del vettore. Tra gli N-1 elementi rimanenti viene poi ricercato nuovamente quello maggiore e scambiato con il secondo e così via fino allultimo elemento. Obiettivo:ottenere un insieme di elementi,ordinato in maniera decrescente

4 Sistemi Informativi DEE - Politecnico di Bari A.PintoAlgoritmi di ordinamento4 Selection Sort – LAlgoritmo I passi da seguire sono i seguenti : 1)Posizionamento sul primo elemento dellarray 2)Ricerca dellelemento più grande e scambio con il primo elemento dellarray 3)Posizionamento sul secondo elemento dellarray 4)Ricerca dellelemento più grande tra gli N-1 elementi rimasti e scambio con il secondo elemento dellarray 5)Posizionamento sul terzo elemento dellarray 6)Ricerca dellelemento più grande tra gli N-2 elementi rimasti e scambio con il terzo elemento dellarray 7)Tale procedimento viene ripetuto N-1 volte Osservazione : Per implementare lAlgoritmo abbiamo bisogno di 2 indici : Uno che tiene conto della posizione in cui si trova lelemento da ordinare ( primo, secondo, terzo, … ) Uno che permette di scorrere larray alla ricerca del valore maggiore

5 Sistemi Informativi DEE - Politecnico di Bari A.PintoAlgoritmi di ordinamento5 Ordinamento per selezione Esempio vettore A Passo 1 Passo 2 Passo 3 dcba bdac dbac dcab

6 Sistemi Informativi DEE - Politecnico di Bari A.PintoAlgoritmi di ordinamento6 Selection-sort il codice 1/3 /* Algoritmo di Selection Sort */ #include // definisco la dimensione massima del vettore #define MAXDIM 20 main() { // La dichiarazione delle variabili int i,j,N,temp; int V[MAXDIM]; // Inserimento della dimensione del vettore con controllo che sia minore o uguale //alla dimensione massima do{ printf("\n Inserire la dimensione del vettore non superiore a %d\n",MAXDIM); // inserimento del valore da tastiera scanf("%d",&N); }while(N>MAXDIM);

7 Sistemi Informativi DEE - Politecnico di Bari A.PintoAlgoritmi di ordinamento7 Selection-sort il codice 2/3 for (i=0;i

8 Sistemi Informativi DEE - Politecnico di Bari A.PintoAlgoritmi di ordinamento8 Selection-sort il codice 3/3 // visualizzazione del vettore ordinato mediante l'algoritmo printf("Il vettore ordinato e\' il seguente : \n"); for (i=0;i

9 Sistemi Informativi DEE - Politecnico di Bari A.PintoAlgoritmi di ordinamento9 Ordinamento per scambio Si scandisce tutto linsieme, se due elementi vengono trovati fuori posto si scambiano tra loro. Questo procedimento viene ripetuto fino a quando non si hanno più cambiamenti. Bubble Sort – vengono effettuati confronti ripetuti e, se necessario, scambi di elementi adiacenti. Un vettore di N elementi viene letto per intero N – 1 volte sempre partendo dallultimo elemento.

10 Sistemi Informativi DEE - Politecnico di Bari A.PintoAlgoritmi di ordinamento10 Ordinamento per scambio/Bubble-Sort Osservazione : Per implementare lAlgoritmo abbiamo bisogno di 2 indici : Uno che tiene conto della posizione in cui si trova lelemento già ordinato( fino al primo, fino al secondo, fino al terzo, … ) Uno che permette di scorrere larray alla ricerca del valore minimo vettore iniziale a b c d Passo 1 d a b c Passo 2 d c a b Passo 3 d c b a

11 Sistemi Informativi DEE - Politecnico di Bari A.PintoAlgoritmi di ordinamento11 Bubble-sort codice 1/3 #include // definisco la dimensione massima del vettore #define MAXDIM 20 main() { // La dichiarazione delle variabili int i,j,N,temp; int V[MAXDIM]; // Inserimento della dimensione del vettore con //controllo che sia minore o uguale alla dimensione //massima do{ printf("\n Inserire la dimensione del vettore non superiore a %d\n",MAXDIM); // inserimento del valore da tastiera scanf("%d",&N); }while(N>MAXDIM);

12 Sistemi Informativi DEE - Politecnico di Bari A.PintoAlgoritmi di ordinamento12 Bubble-sort codice 2/3 for (i=0;i i ); }

13 Sistemi Informativi DEE - Politecnico di Bari A.PintoAlgoritmi di ordinamento13 Bubble-sort codice 3/3 // visualizzazione del vettore ordinato mediante l'algoritmo printf("Il vettore ordinato e\' il seguente : \n"); for (i=0;i


Scaricare ppt "Corso di Laurea Triennale in Ingegneria Gestionale Corso di Fondamenti di Informatica A. A. 2006 - 2007 A.Pinto Algoritmi di ordinamento 1 Gli Algoritmi."

Presentazioni simili


Annunci Google