Implementazioni di algoritmi/Shell sort: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m robot Modifying: lt
m Bot: grammatica, ortografia, entity, typo (ver 0.2)
Riga 1:
Lo '''Shell sort''' (o '''Shellsort''') è uno dei più vecchi [[Algoritmo di ordinamento|algoritmi di ordinamento]]. E'È stato ideato nel 1959 da [[D. L. Shell|Donald L. Shell]] <nowiki>[</nowiki>[[#References|Sh]]<nowiki>]</nowiki>.
E'È veloce, facile da comprendere e da implementare.
Comunque, l'analisi della sua complessità è leggermente più sofisticata.
E'È semplice comprendere in maniera intuitiva il fuzionamento dell'algoritmo, ma è spesso difficile analizzarne il tempo di esecuzione.
 
Lo Shell sort viene a volte chiamato "Shell-Metzner sort" in onore di Marlene Metzner che ne scrisse una primissima implementazione in [[FORTRAN]]. Venne per la prima volta chiamato Shell-Metzner in un articolo su ''Creative Computing'' nel [[1976]], ma Marlene Metzner disse di non volere che l'algoritmo portasse il suo nome.
Riga 78:
=== Utilizzo di una lista di dimensioni ===
 
Il seguente programma [[Linguaggio_C|C]] ordina un array ''a'' dalla posizione 0 fino a ''n''-1. Il numero di colonne usato for organizzare i dati in ciascuna passata è nell'array ''cols''. Quindi, i dati vengono distribuiti in 4,356,424 colonne durante la prima passata e in una sola colonna nell'ultima. E'È da notare che essenzialmente nulla viene eseguito se il numero di colonne ''h'' è maggiore del numero di elementi dati ''n'' . Ciascuna colonna viene ordinata usando l'insertion sort. Prima, i dati della seconda riga, cominciando da ''i'' = ''h'', vengono portati nella corretta posizione all'interno della loro colonna, poi i dati della terza riga (quando ''i'' raggiunge il valore 2''h'') e così via.
 
<pre>