Depends
Dipende da varie cose. In generale, tuttavia, gli algoritmi che utilizzano un approccio Divide-and-Conquer/dichotomic si comportano bene per problemi di ordinamento in quanto presentano interessanti complessità del caso medio.
Basics
per capire quali algoritmi funzionano meglio, avrete bisogno di conoscenza di base di algorithms complexity e big-O notation, in modo da poter capire come si valutano in termini di average case, best case and worst case scenarios. Se necessario, dovresti anche prestare attenzione allo sorting algorithm's stability.
Ad esempio, in genere un algoritmo efficiente è quicksort. Tuttavia, se si fornisce a quicksort una lista perfettamente invertita, allora avrà un rendimento scarso (un ordinamento di selezione semplice avrà un rendimento migliore in tal caso!). Shell-sort sarebbe anche di solito un buon complemento a quicksort se si esegue una pre-analisi del proprio elenco.
dare un'occhiata a quanto segue, per "le ricerche avanzate" utilizzando divide et impera approcci:
E questi algoritmi più straighforward per meno quelli complessi:
Ulteriori
Quanto sopra sono i soliti noti Quando si comincia, ma ci sono innumerevoli altri.
Come indicato da R. nei commenti e da kriss nella sua risposta, si consiglia di dare un'occhiata a HeapSort, che fornisce una complessità di ordinamento teoricamente migliore di un quicksort (ma non sarà spesso meglio in impostazioni pratiche). Esistono anche varianti e hybrid algorithms (ad esempio TimSort).
Vedere: http://en.wikipedia.org/wiki/Sorting_algorithm – Donotalo
Non esiste una "migliore tecnica di ordinamento di tutti", dipende dalla dimensione dei dati e se è un po 'ordinata all'inizio. Ti suggerisco di leggere http://en.wikipedia.org/wiki/Sorting_algorithm#Comparison_of_algorithms e anche l'intero articolo di Wikipedia. – schnaader
"migliore" dipende dai dati e da altri vincoli: memoria, velocità, modalità di smistamento iniziale. quicksort è un ottimo compromesso tra quelli. bubble sort è il migliore per la memoria di piccole dimensioni. Cosa vuoi realizzare? – dawg