Bubble Sort: El Algoritmo que Todos Aprenden (y Nadie Usa)
Si alguna vez has estudiado informática, el Bubble Sort (Ordenamiento de Burbuja) fue probablemente tu primer contacto con los algoritmos de ordenación. Es el “Hola Mundo” de ordenar listas.
¿Cómo funciona?
Imagina vasos de agua con diferentes niveles de líquido en una fila. Quieres ordenarlos de menor a mayor. El algoritmo recorre la lista comparando cada elemento con el siguiente:
- Mira el elemento A y el elemento B (su vecino).
- Si A es mayor que B, los intercambia.
- Avanza una posición y repite.
En cada “pasada” completa por la lista, el número más grande “burbujea” hasta su posición final al final de la lista (como una burbuja de aire subiendo en el agua).
🏁 Carrera de Algoritmos
Mismo set de datos (50 elementos). ¿Quién gana?
El Código (Python)
def bubble_sort(arr):
n = len(arr)
for i in range(n):
# En cada pasada, el elemento más grande queda al final
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
¿Por qué es “malo”?
El problema es la eficiencia. En notación Big-O, Bubble Sort tiene una complejidad de O(n²). Esto significa que si duplicas la cantidad de datos, el tiempo que tarda se multiplica por cuatro. Para 10 elementos es instantáneo. Para 100.000, podrías irte a tomar un café y volver.
¿Cuándo usarlo?
Honestamente: casi nunca. Sin embargo, tiene una pequeña ventaja: es fácil de implementar y es capaz de detectar si una lista ya está ordenada muy rápido (con una pequeña optimización). Pero para todo lo demás, existen opciones mucho mejores.