Ordinamento. Introduzione Una delle operazioni che si possono eseguire sui vettori, è quella di ordinare gli elementi del vettore in ordine crescente.

Slides:



Advertisements
Presentazioni simili
Lez. 12 (10/11) - PBElementi di Programmazione1 Lezione 12 Esercizi.
Advertisements

Eventi di salvataggio VBA
Algoritmi di ordinamento
Gli Algoritmi di ordinamento
INFORMATICA Algoritmi fondamentali
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Unità G3 Algoritmi notevoli. Ordinamento Un insieme di dati {a0, a1, a2, …, an} si dice ordinato in ordine crescente se a0 a1 a2 a3 … an I dati sono generalmente.
PROGRAMMARE IN PASCAL (le basi)
Lez 4 (11/12)Elementi di Programmazione1 Istruzioni per il controllo del Flusso 2.
Lez 4 (10/11)Elementi di Programmazione1 Istruzioni per il controllo del Flusso 2.
EP 10/11 - PBLezione 2-21 Elementi di Programmazione Tipi di Dati Conversioni Istruzioni di controllo del flusso.
EP 11/12 - PBLezione 31 Elementi di Programmazione Tipi di Dati e Conversioni Istruzioni di controllo del flusso.
Lez. 11 (10/11) - PBElementi di Programmazione1 Lezione 11 Esercizi.
Lez 4 (10/11)Elementi di Programmazione1 Istruzioni per il controllo del Recupero lez.4.
Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A CDL in Ingegneria Elettronica - A.A Il Problema dellordinamento.
Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A CDL in Ingegneria Elettronica - A.A Il Problema dellordinamento.
8. Problemi ricorrenti: ordinamento e ricerca Ing. Simona Colucci
Introduzione agli algoritmi. Definizione Sistema di regole e procedure di calcolo ben definite che portano alla soluzione di un problema con un numero.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
PROGRAMMI DI RICERCA E ORDINAMENTO
Algoritmi Paralleli e Distribuiti a.a. 2008/09
Corso di Informatica grafica 1 Introduzione Quando si rappresentano modelli di oggetti 3D costituiti da facce poligonali secondo delle proiezioni alcune.
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Ordinamento di una lista: bubble-sort
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Introduzione alla programmazione lll
Somma = A + B start Stampa Somma Leggi A,B stop Sub SOMMA( ) Dim A, B as Integer A = InputBox("Immetti un numero") B = InputBox(Immetti un secondo numero)
Selezione (=scelta) con “if-else”
Lalgoritmo MergeSort Applica la strategia del divide et impera Divide: suddivide la sequenza di n elementi data in due sottosequenze di n/2 elementi Impera:
QuickSort Quick-Sort(A,s,d) IF s < d THEN q = Partiziona(A,s,d) Quick-Sort(A,s,q-1) Quick-Sort(A,q + 1,d)
Algoritmo SelectSort Invariante di ciclo: ad ogni passo
Relatori: Emanuele e Denis Tornei Informatici. Introduzione In queste prime lezioni abbiamo affrontato linformatica procedendo a soluzioni di problemi,
Problema Ci sono 5 signore nel parco. Ognuna di loro ha 1 figlio. Ogni bambino ha 10 figurine di calciatori, per un totale quindi di 50 figurine. Questi.
Rete Sincrona Una rete sequenziale sincrona, è dotata di un ingresso E, di un segnale di Clock e uno di reset. Ad ogni fronte del Clock, deve essere campionato.
10 Appendice Non farsi spaventare da un grafico Non farsi spaventare da un grafico Esci.
Elementi di Informatica di base
Problema dell’ordinamento di un array: Il metodo Bubble Sort.
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Architettura degli Elaboratori II (canale P-Z) Istruzioni di controllo Dott. Franco Liberati.
Programmare in Visual Basic
Programmazione di Calcolatori
ESERCIZI.
Algoritmo Ordinamento di 3 Numeri
PIC16F84A (seconda lezione). VARIABILI E COSTANTI.
Valutazione opzioni Europee:
Il ciclo while.  Permette di ripetere un blocco di istruzioni fino a quando non si verifica un determinato evento  Il ciclo while può essere realizzato.
ALGORITMI DI RICERCA Nella programmazione s’incontra spesso la necessità di ricercare un elemento (chiave) in un elenco, oppure di ordinare gli elementi.
ALGORITMO Un algoritmo è un procedimento che risolve un determinato problema attraverso un numero finito di passi. Un formalismo che permette di rappresentare.
La ricorsione.
Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
Soluzione 6: Algoritmo Quicksort
Allievi Elettrici - AA Le funzioni ricorsive in C
Lez 4 (13/14)Elementi di Programmazione1 Strutture di controllo 2.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Algoritmi e Strutture Dati
Lez. 12 (13/14)Elementi di Programmazione1 Lezione 12 Esercizi.
Lez. 11 (13/14)Elementi di Programmazione1 Lezione 11 Esercizi.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 07/04/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
1 Ordinamento (Sorting) INPUT: Sequenza di n numeri OUTPUT: Permutazione π = tale che a 1 ’  a 2 ’  … …  a n ’ Continuiamo a discutere il problema dell’ordinamento:
1 Ordinamento (Sorting) Input: Sequenza di n numeri Output: Permutazione π = tale che: a i 1  a i 2  ……  a i n Continuiamo a discutere il problema dell’ordinamento:
L’ordinamento per Selezione seleziona l’elemento con valore maggiore e lo scambia con il primo elemento del vettore. Tra gli N-1 elementi rimanenti viene.
Esercitazione sull’ ordinamento 20 maggio 2003
Problema dell’Ordinamento. Problema dell’ordinamento Formulazione del problema –Si vuole ordinare una lista di elementi secondo una data proprietà P Esempio:
GLI ALGORITMI DI ORDINAMENTO
Algoritmi e Strutture Dati HeapSort. Select Sort: intuizioni L’algoritmo Select-Sort  scandisce tutti gli elementi dell’array a partire dall’ultimo elemento.
6/11/01Ordinamento 1 Un esempio di algoritmi: ordinamento.
Luca Chichisola1 Dal problema al programma LUCA CHICHISOLA.
Transcript della presentazione:

Ordinamento

Introduzione Una delle operazioni che si possono eseguire sui vettori, è quella di ordinare gli elementi del vettore in ordine crescente (dal più piccolo al più grande o dalla A alla Z) o in ordine decrescente (dal più grande al più piccolo o dalla Z alla A). Esistono molte tecniche per l’ordinamento di un vettore (sort).

Ordinamento per Selezione Questo metodo si basa sul modo normalmente utilizzato per ordinare un insieme di elementi selezionando successivamente l’elemento più piccolo. Si cerca l’elemento più piccolo e lo si pone in prima posizione, poi si cerca nuovamente il più piccolo tra gli elementi che rimangono e così via.

Si devono ordinare i seguenti elementi v(1) v(2) v(3) v(4) v(5) v(6) Confrontiamo il primo elemento con il secondo e poiché è maggiore si effettua lo scambio: Confrontiamo il primo (che è diventato 5) con il terzo (9) e poiché è minore niente scambio ; poi sempre il primo con il quarto (3) e poiché è maggiore si effettua lo scambio

poi il primo con il quinto (4) e nessuno scambio e con il sesto (nessuno scambio):

A questo punto viene reiterato il ciclo partendo dal secondo elemento (7): confrontiamo il secondo con il terzo (9) e poiché è più piccolo niente scambio; poi con il quarto (5) e si ha lo scambio; quindi il secondo è diventato 5

che va confrontato con il quinto (4) e quindi si effettua lo scambio (il secondo è ora 4) e ancora confronto il secondo con il sesto (6) e niente scambio:

Ora si parte dal terzo elemento (9) e lo si confronta con i successivi: Partiamo dal quarto (9) che scambiamo con il quinto (7) e ora il quarto viene confrontato col sesto e viene scambiato: scambio con il quarto (7), poi scambio 7 con il quinto (5) e poi confronto con il sesto (6) e non c’è scambio:

Infine partiamo dal quinto (9) che scambiamo col sesto: Il vettore risulta quindi ordinato in ordine crescente.

Cosa abbiamo fatto? Si è confrontato il primo elemento con il secondo, con il terzo e con i rimanenti elementi, se l’elemento era maggiore abbiamo effettuato lo scambio, se minore è rimasto inalterato. Ciclo Dopo aver effettuato la selezione per il primo elemento siamo passati al secondo poi al terzo ecc.. Sino al penultimo. Ciclo Per I da C+1 a n SE v(C)>v(I) ALLORA scambia v(I) con v(C) Fine SE Incrementa I Per C da 1 a n-1 Incrementa C n=dimensione del vettore

NOMEDESCRIZIONETIPOUTILIZZO Vett(1 to N)Vettore in cui viene effettuato l’ordinamento vettore di interi(Input) ContContatore per il primo ciclo, cerca il più piccolo per ogni posizione interolavoro IContatore per il secondo ciclo, che serve per effettuare gli scambi interolavoro TempVariabile che serve per effettuare lo scambio interolavoro tabella delle variabili

inizio For C = 1 to N -1 Vett(C) > Vett(I) Temp = Vett(C) V F Vett(C) = Vett(I) Vett(I) = Temp Fine For I = C +1 to N

Const N = 10 Dim Vett( 1 to N) As Integer Private Sub CMDOrdina_Click() Dim C As Integer Dim I as Integer Dim Temp As Integer For C = 1 To N-1 For I = C + 1 To N If Vett(C) > Vett(I) Then Temp = Vett(C) Vett(C) = Vett(I) Vett(I) = Temp End If Next I Next C End Sub Codice V.B.