Es una cuestión bien conocida con Quicksort que cuando el conjunto de datos está en orden de clasificación o casi en orden, el rendimiento se degrada horriblemente. En este caso, Insertion Sort, que normalmente es muy lento, es fácilmente la mejor opción. La pregunta es saber cuándo usar qué.Algoritmo de análisis de ordenamiento previo?
¿Hay un algoritmo disponible para ejecutar a través de un conjunto de datos, aplicar un factor de comparación y devolver un informe sobre qué tan cerca está el conjunto de datos en orden de clasificación? Prefiero Delphi/Pascal, pero puedo leer otros idiomas si el ejemplo no es demasiado complejo.
Esta lentitud de la secuencia rápida con secuencias preordenadas es solo un problema, AFAIK, si la implementación es demasiado simple con respecto a la elección de un elemento de pivote. Ver http://www.cprogramming.com/tutorial/computersciencetheory/quicksort.html por ejemplo. – Dirk