El uso de clasificación rápida para matrices primitivas es una optimización del rendimiento.
Se supone que los algoritmos de clasificación de Java son estables . Es por eso que, para ordenar colecciones arbitrarias, utiliza timsort, que es un algoritmo de ordenación estable.
Sin embargo, dado que dos valores primitivos que son equivalentes nunca serán observablemente diferentes entre sí ( Integer.compare(a, b) == 0
si y solo si a == b
, y los primitivos no tienen identidad o estado), no uno notará que ha utilizado un algoritmo de ordenación inestable para ordenar una matriz primitiva.
- Cómo escribir un script de fuerza bruta, en Eclipse
- ¿Cuál es el mecanismo fundamental detrás de los generadores de números aleatorios?
- ¿Qué es la búsqueda de fuerza bruta?
- ¿Cómo se siente Bram Cohen al haber creado accidentalmente un algoritmo para el cifrado totalmente homomórfico?
- ¿Cómo lidiar con la gestión eficiente de versiones y la compresión de múltiples versiones para bases de datos científicas?
En realidad, Java utiliza el ordenamiento rápido de doble pivote para ordenar las matrices primitivas, lo que reduce la incidencia del rendimiento del peor caso de O (n²) de quicksort y, a menudo, es más rápido que el ordenamiento rápido simple.