La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Algoritmo SelectSort Invariante di ciclo : ad ogni passo gli ultimi i elementi del vettore corrente sono gli i elementi massimi del vettore originale gli.

Presentazioni simili


Presentazione sul tema: "Algoritmo SelectSort Invariante di ciclo : ad ogni passo gli ultimi i elementi del vettore corrente sono gli i elementi massimi del vettore originale gli."— Transcript della presentazione:

1 Algoritmo SelectSort Invariante di ciclo : ad ogni passo gli ultimi i elementi del vettore corrente sono gli i elementi massimi del vettore originale gli ultimi i elementi del vettore corrente sono ordinati Inizializzazione: i = 0 Passo: estrarre lelemento massimo dal vettore [1..n-i] e scambiarlo con quello in posizione n-i Condizione di arresto: i = n

2 SelectSort(n,A) For j = n downto 2 do {estrai il massimo e mettilo in coda} j_ max = FindMax(A,j) scambia A[j_max] e A[j] FindMax(A,j) i_max = 1 For i = 2 to j do If A[i_max] < A[i] then i_max = i return i_max Pseudocodice di SelectSort

3 ordinati disordinati j SelectSort Scandisce la sequenza dallultimo elemento al primo Ad ogni iterazione (ExtractMax) cerca lelemento massimo A[j_max] nella sottosequenza corrente A[1,…,j] scambia lultimo elemento con quello massimo (facendo uscire lelemento massimo dalla sequenza e ricompattandola) n 1 j_max Complessità O(n 2 ) in ogni caso (anche in quello migliore) Algoritmo di ordinamento stabile (perché?)


Scaricare ppt "Algoritmo SelectSort Invariante di ciclo : ad ogni passo gli ultimi i elementi del vettore corrente sono gli i elementi massimi del vettore originale gli."

Presentazioni simili


Annunci Google