Selection sort: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Altri progetti: Aggiunto il parametro "Preposizione" e corretto il parametro "b_preposizione" nel template "Interprogetto"
m Annullata la modifica di 88.55.113.74 (discussione), riportata alla versione precedente di Phantomas
Etichetta: Rollback
 
(7 versioni intermedie di 5 utenti non mostrate)
Riga 1:
{{Algoritmo
|classe = [[Algoritmo di ordinamento]]
|immagine = SelectionSorting selection sort animationanim.gif
|didascalia = Animazione dell'algoritmo che ordina dei numeri casuali
|struttura dati = [[Array]]
Riga 10:
|ottimale = No
}}
L<nowiki>{{'</nowiki>}}'''ordinamento per selezione''' ('''selection sort''') è un [[algoritmo di ordinamento]] che opera [[Algoritmo in loco|in place]] ed in modo simile all'[[insertion sort|ordinamento per inserzione]]. L'algoritmo è di tipo non adattivo, ossia il suo tempo di esecuzione non dipende dall'input ma dalla dimensione dell'array.
 
== Descrizione dell'algoritmo ==
L'algoritmo ''seleziona'' di volta in volta il numero minore nella sequenza di partenza e lo sposta nella sequenza ordinata; di fatto la sequenza viene suddivisa in due parti: la sottosequenza ordinata, che occupa le prime posizioni dell'array, e la sottosequenza ''da'' ordinare, che costituisce la parte restante dell'array.
 
{|
|
Riga 40 ⟶ 39:
Quella che segue è una rappresentazione in [[pseudocodice]] del Selection sort:
 
'''procedure''' SelectionSort(a: ''lista dei numeri da ordinare'');
'''for''' i = 0 '''to''' n - 1
posmin ← i
Riga 73 ⟶ 72:
// Scambia il minimo trovato con il primo elemento
swap(arr,indice_min,i);
}
}