Saltar al contenido
uencoder

Sorting Algorithm

Los algoritmos de ordenación disponen los elementos en orden —quicksort, merge sort y heapsort son comunes— con complejidades que van de O(n log n) a O(n²).

Propósito

Ordenar datos desordenados, base de la búsqueda, la deduplicación y la presentación.

Mecanismo

La ordenación por comparación tiene un límite inferior de O(n log n). Quicksort promedia O(n log n), peor caso O(n²), in situ. Merge sort es O(n log n), estable, pero necesita O(n) de espacio. Heapsort es O(n log n) in situ. Counting/radix son no comparativos y pueden ser O(n). Las ordenaciones estables preservan el orden relativo de los elementos iguales.

Casos de uso

  • ORDER BY de bases de datos
  • Preprocesamiento antes de buscar
  • Rankings y tablas de líderes
  • Deduplicación (ordenar + comparación adyacente)

Ejemplos

  • entrada
    [3,1,4,1,5] → quicksort
    Output
    [1,1,3,4,5]

    O(n log n) average

Errores comunes

Quicksort recursion overhead is high for small arrays
Use insertion sort for small arrays (a quicksort optimization)

Términos relacionados

Herramientas relacionadas

References