La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Algoritmo SelectSort Invariante di ciclo: ad ogni passo

Presentazioni simili


Presentazione sul tema: "Algoritmo SelectSort Invariante di ciclo: ad ogni passo"— 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 l’elemento massimo dal vettore [1..n-i] e scambiarlo con quello in posizione n-i Condizione di arresto: i = n

2 Pseudocodice di SelectSort
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

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


Scaricare ppt "Algoritmo SelectSort Invariante di ciclo: ad ogni passo"

Presentazioni simili


Annunci Google