Estructuras de Datos y Algoritmos · Programación

Ordenamiento comparativo

Comparar los algoritmos de ordenamiento por comparación (burbuja, inserción, selección, merge, heap, quick) según costo, estabilidad y memoria, y saber el límite inferior n log n.

Ordenamiento comparativo

Diagrama de estructuras de datos: arbol binario, lista enlazada y tabla hash.
Estructuras de datos fundamentales y analisis de complejidad algoritmica.

Mapa conceptual

El límite n log n Cualquier algoritmo que ordene solo comparando pares de elementos necesita, en el peor caso, Ω(n log n) comparaciones. Quien prometa menos o no compara, o hace trampa con datos especiales. Ese es el suelo bajo el que todos competimos.

Qué es ordenar por comparación

Son algoritmos que solo deciden el orden preguntando «¿es a menor que b?». No explotan el rango de los valores (eso lo hacen counting sort o radix). Su costo se mide en comparaciones e intercambios.

La familia cuadrática

La familia n log n

[Crecimiento: n log n contra n cuadrado]

Esta actividad interactiva ('Grafico interactivo') requiere el motor completo de Lumbre. El contenido estatico se muestra arriba; para la experiencia interactiva, visita la version online de este objeto.

Inserción gana en datos casi ordenados; merge cuando importa la estabilidad.
AlgoritmoMejorPromedioPeorEstableMemoria extra
InsercionO(n)O(n2)O(n2)SiO(1)
MergeO(n log n)O(n log n)O(n log n)SiO(n)
HeapO(n log n)O(n log n)O(n log n)NoO(1)
QuickO(n log n)O(n log n)O(n2)NoO(log n)

¿Cuál es el peor caso de quicksort y de qué depende?

¿Por qué n log n es el suelo?

Ordenar n elementos equivale a distinguir entre n! permutaciones posibles. Cada comparación binaria divide el espacio de posibilidades entre dos, así que hacen falta al menos log₂(n!) comparaciones, que por Stirling es Θ(n log n). Ningún algoritmo comparativo puede bajar de ahí.

Estabilidad

Un ordenamiento es estable si conserva el orden relativo de elementos empatados. Importa cuando se ordena por varias claves sucesivas: merge e inserción son estables; heap y quick no.

Merge sort es estable y garantiza O(n log n) en el peor caso.

Elegir en la práctica

Errores frecuentes

Clasifica cada algoritmo por su peor caso:

O(n2)
O(n log n)

USFCA — visualizaciones
Animaciones comparativas de todos estos algoritmos.

Tienes que ordenar un millón de transacciones ya casi ordenadas, conservando el orden de registro en empates. ¿Qué algoritmo eliges y por qué? Argumenta con costo, estabilidad y memoria.

VisuAlgo
Visualizaciones animadas de estructuras de datos y algoritmos.