Abrir el simulador
Burbuja, selección, inserción, merge sort y quicksort animados, con contador de comparaciones.
Lo que vas a aprender
- La idea de cada algoritmo y cómo se programa.
- Contar comparaciones e intercambios.
- La complejidad en el mejor, el peor y el caso medio.
- Qué significa que un algoritmo sea estable o “in situ”.
- Qué algoritmo elegir según los datos.
Cómo se usa el simulador
- Elige el algoritmo: burbuja, selección, inserción, merge sort o quicksort.
- Datos: número de elementos (5 – 250) y su disposición inicial: aleatorio, casi ordenado o invertido. 🎲 Nuevos datos genera otros.
- Avanza con ⏮, ▶ Ordenar y ⏭, o arrastra el deslizador de pasos. Ajusta la velocidad.
- Los colores indican qué se compara, qué se intercambia, la clave y lo que ya está ordenado. Los contadores dan las comparaciones y los intercambios.
- Cómo funciona resume la idea y la complejidad de cada algoritmo.
Fundamentos teóricos
Burbuja
Recorre la lista comparando vecinos y los intercambia si están al revés. En cada pasada, el mayor “sube” hasta el final.Selección
Busca el mínimo de la parte sin ordenar y lo pone al principio. Hace siempre comparaciones, pero solo intercambios.Inserción
Toma cada elemento y lo inserta en su sitio dentro de la parte ya ordenada, desplazando los mayores. Como al ordenar las cartas de una mano. Con datos casi ordenados es muy rápido.Merge sort (mezcla)
Divide la lista en dos mitades, las ordena recursivamente y las mezcla en una sola ordenada. La mezcla de dos listas ordenadas es lineal.Quicksort (rápido)
Elige un pivote, coloca a su izquierda los menores y a su derecha los mayores (partición) y ordena recursivamente cada lado. Si el pivote parte la lista por la mitad, ; si siempre elige el mínimo o el máximo (por ejemplo, con datos ya ordenados y el primer elemento como pivote), degenera a .Comparativa
Un algoritmo es estable si mantiene el orden relativo de los elementos iguales. Importa al ordenar por varios criterios (por ejemplo, por nota y luego por apellido).
Ejemplos resueltos
Ejemplo 1 · Comparaciones de la burbuja
Ejemplo 1 · Comparaciones de la burbuja
Con 5 elementos en el peor caso: , es decir, .
Ejemplo 2 · n² frente a n log n
Ejemplo 2 · n² frente a n log n
Con 1000 elementos: un algoritmo cuadrático hace unas comparaciones; merge sort, unas . Cincuenta veces menos. Con un millón de elementos, la diferencia es de 25 000 veces.
Ejemplo 3 · Inserción con datos casi ordenados
Ejemplo 3 · Inserción con datos casi ordenados
Si cada elemento está como mucho a una posición de su sitio, inserción hace menos de comparaciones: prácticamente lineal.
Experimenta con el simulador
1
Casi ordenado
Con datos casi ordenados, compara inserción y selección. ¿Cuál hace menos comparaciones?
2
El peor caso de quicksort
Con datos invertidos, mira cómo trabaja quicksort. ¿Se acerca a ?
3
Muchos datos
Sube a 250 elementos y compara los contadores de burbuja y merge sort.
Errores frecuentes
- Pensar que el algoritmo más rápido siempre es el mismo. Depende del tamaño y de cómo estén los datos.
- Olvidar el caso peor de quicksort.
- Confundir intercambios con comparaciones al medir el coste.
Herramientas relacionadas
Mejor y peor caso
Medir el coste experimentalmente.
Divide y vencerás
La idea de merge sort y quicksort.
Recursión
Funciones que se llaman a sí mismas.