Domanda

So che è un quadratric algoritmo in tempo, ma come si rapporta con gli altri algoritmi di ordinamento, come QuickSort o di Ordinamento a Bolle?

È stato utile?

Soluzione

Algoritmi di ordinamento generalmente variano in base alla natura dei dati da lei.

Tuttavia, mentre il bubble sort e ordinamento di selezione sono facili da capire (e attuare) algoritmi di ordinamento il loro tempo di esecuzione è O(n^2) io.e il momento peggiore che si può eventualmente ottenere.

Per quanto quick sort è interessato, un avergage richiede O(n log n) tempo quindi è un ottimo sorta.Tuttavia, si può anche prendere in O(n ^ 2) in alcuni casi.

Altri suggerimenti

algoritmi tempo quadratico, a seconda delle dimensioni del vostro set di dati, possono essere incredibilmente lento.

n = 10e78 (circa il numero di atomi nell'universo)

Per un algoritmo quadratico, che è n * (10e78). Per un algoritmo nlog (n), come quicksort mergesort o, che è n * 262. Questa è una differenza enorme.

Ma se il vostro set di dati è relativamente piccolo (<1000 articoli, dicono), quindi la differenza di prestazioni probabilmente non sta per essere evidente (a meno che, forse, il genere è stato fatto più volte). In questi casi di solito è meglio usare l'algoritmo più semplice, e ottimizzare in seguito, se si scopre di essere troppo lento.

"ottimizzazione prematura è la radice di tutti i mali". -Sir Tony Hoare, reso popolare da Donald Knuth

Wikipedia conosce tutti.

Selezione succhia specie più o meno.

Se i dati che avete composto da soli numeri interi positivi si consiglia di guardare bucket sort. L'algoritmo può avere un tempo di esecuzione O lineare (n) nelle giuste condizioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top