Insertion sort: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Botcrux (discussione | contributi)
m Bot: parametri del template:Algoritmo in italiano
Riga 1:
{{Algoritmo
|classclasse = [[Algoritmo di ordinamento]]
|imageimmagine = Insertion sort animation.gif
|captiondidascalia = Esempio di ordinamento di una lista di numeri casuali.
|datastruttura dati = [[Array]]
|timetempo = O(''n''<sup>2</sup>)
|best-timetempo migliore = O(''n'')
|average-timetempo medio = O(''n''<sup>2</sup>)
|spacespazio = O(''n'') totale<br />O(''1'') ausiliaria
|optimalottimale = Sì (nel caso di inserimento di alcuni valori in una lista quasi ordinata)
}}
 
Riga 16:
 
== Descrizione dell'algoritmo ==
 
L'algoritmo solitamente ordina la sequenza sul posto. Si assume che la sequenza da ordinare sia partizionata in una sottosequenza già ordinata, all'inizio composta da un solo elemento, e una ancora da ordinare. Alla <math>k</math>-esima iterazione, la sequenza già ordinata contiene <math>k</math> elementi. In ogni iterazione, viene rimosso un elemento dalla sottosequenza non ordinata (scelto, in generale, arbitrariamente) e ''inserito'' (da cui il nome dell'algoritmo) nella posizione corretta della sottosequenza ordinata, estendendola così di un elemento.