Comb sort: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: collegamento a Commons:Category:Sort algorithms importato da de:Combsort e modifiche minori |
Nessun oggetto della modifica |
||
Riga 10:
In [[Informatica]] il '''Comb sort''' è un algoritmo di ordinamento pubblicato per la prima volta da [[Stephen Lacey]] e [[Richard Box]] sul numero di aprile [[1991]] della rivista [[Byte]]. Il Comb sort rielabora le idee che Wlodzimierz Dobosiewicz applicò nel [[1980]] per rendere più efficiente lo [[shell sort]] utilizzando la funzione del [[bubble sort]]. Il Comb sort migliora l'algoritmo [[bubble sort]] e compete in velocità con algoritmi storicamente veloci come il [[Merge sort]]. L'idea basilare dell'algoritmo è quella di eliminare le cosiddette "''[[Bubble_sort#Conigli_e_tartarughe|tartarughe]]''", ovvero valori piccoli vicini alla fine della lista, essendo provato che in un bubble sort questi valori tendono spessissimo a scendere nella loro posizione in modo tremendamente lento. (i "''[[Bubble_sort#Conigli_e_tartarughe|conigli]]''", ovvero grandi valori all'inizio della lista, non rappresentano un problema nel bubble sort perché generalmente vengono spostati molto velocemente).
Nel bubble sort, quando vengono confrontati due elementi, essi hanno sempre un ''passo'' (distanza reciproca) pari ad 1. L'idea alla base del comb sort è che il
Il ''passo'', o intervallo del confronto, è impostato inizialmente alla lunghezza dell'[[array]] da ordinare divisa per il ''fattore di riduzione'' (generalmente 1,3), e la lista viene ordinata con tale intervallo (arrotondato per difetto all'intero, se necessario). Terminato il primo passaggio il passo viene diviso nuovamente per il fattore di riduzione (arrotondato all'intero), e la lista viene ordinata con questo nuovo intervallo. Il processo si ripete finché il passo è pari a 1. A questo punto, il Comb sort continua ad usare un passo di 1 finché non si ha un ordinamento totale. Il passaggio finale dell'algoritmo è quindi equivalente ad un bubble sort, ma in questo modo molte "tartarughe" sono scomparse, ed in tal modo il bubble sort è molto più efficiente.
|