Pregunta

Sé que es un algoritmo de tiempo cuadrática, pero ¿cómo se compara con otros algoritmos de clasificación, como Ordenación rápida o la ordenación de burbuja?

¿Fue útil?

Solución

algoritmos

Clasificación general varían en función de la naturaleza de los datos que tiene.

Sin embargo, mientras que la ordenación de burbuja y ordenación por selección son fáciles de entender (y aplicar) algoritmos de ordenación de su tiempo de ejecución es O (n ^ 2) es decir el peor momento que pueda conseguir posiblemente.

En cuanto a tipo rápida se refiere en una avergage que se necesita O (n log n) tiempo por lo tanto es un excelente tipo. Sin embargo, también puede tomar O (n ^ 2) en ciertos casos.

Otros consejos

algoritmos de tiempo cuadráticas, dependiendo del tamaño de su conjunto de datos, pueden ser increíblemente lento.

n = 10e78 (sobre el número de átomos en el universo)

Para un algoritmo cuadrático, eso es n * (10e78). Para un n log (n) algoritmo, al igual que la clasificación rápida o mergesort, eso es n * 262. Esa es una gran diferencia.

Pero si el conjunto de datos es relativamente pequeña (<1000 elementos, por ejemplo), entonces la diferencia de rendimiento probablemente no va a ser notable (a menos que, tal vez, la especie que se está haciendo en varias ocasiones). En estos casos es mejor usar el algoritmo más simple, y optimizar posteriormente si resulta ser demasiado lento.

"La optimización prematura es la raíz de todo mal". -Sir, Tony Hoare, popularizado por Donald Knuth

Wikipedia sabe todo.

Selección de tipo más o menos chupa.

Si los datos que tiene compone de sólo números enteros positivos es posible que desee mirar a Cubo Ordenar. El algoritmo puede tener un tiempo de funcionamiento O lineal (n) en las condiciones adecuadas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top