Aprender

0
Lección ~15 min

Ordenamiento de Burbuja (Visualizado)

Observa cómo el algoritmo de ordenamiento más simple intercambia elementos paso a paso.

Ordenar comparando vecinos

El ordenamiento de burbuja recorre la lista una y otra vez, comparando parejas de elementos adyacentes e intercambiándolos si están desordenados. Los valores mayores *burbujean* hacia el final de la lista. Es intuitivo, didáctico y lento. El primer algoritmo perfecto para visualizar.

Bubble Sort · step by step

17
21
23
31
44
22
26
14
17
14
34
37
comparing swapping locked in place

Pseudocode

for i in range(n):
for j in range(n-1-i):
if a[j] > a[j+1]:
swap a[j], a[j+1]
comparisons: 0swaps: 0pass: 1

step 1 / 95

La idea en una frase

Compara vecinos; intercambia si el de la izquierda es mayor; repite hasta que una pasada completa no requiera ningún intercambio.

Tras la primera pasada, el valor más grande queda garantizado al final. Tras la segunda, el segundo más grande queda en su lugar. Cada pasada bloquea una posición definitiva más.

Pseudocódigo
Python
REPETIR n veces:
    PARA cada pareja de vecinos (izq, der):
        SI izq > der ENTONCES
            INTERCAMBIAR izq y der
Implementación en Python
Python
def bubble_sort(values):
    n = len(values)
    for i in range(n):
        for j in range(n - 1 - i):
            if values[j] > values[j + 1]:
                values[j], values[j + 1] = values[j + 1], values[j]
    return values

print(bubble_sort([5, 1, 4, 2, 8]))

Output

[1, 2, 4, 5, 8]

Análisis: ¿por qué es 'lento'?

Para n elementos, el ordenamiento de burbuja realiza aproximadamente n²/2 comparaciones en el peor caso. Eso es O(n²).

Para 10 elementos son ~50 comparaciones: instantáneo. Para 1,000,000 de elementos son ~500 mil millones: minutos o horas de procesamiento. Las bibliotecas modernas de ordenamiento usan algoritmos O(n log n) — para ese mismo millón de elementos solo necesitan ~20 millones de operaciones. Esa diferencia es el núcleo del análisis de algoritmos.

Puntos clave

  • Ordenamiento de burbuja = comparaciones reiteradas entre vecinos con intercambios.
  • Cada pasada bloquea el siguiente elemento más grande en su lugar definitivo.
  • Complejidad temporal: O(n²) comparaciones, O(1) memoria adicional.
  • Excelente herramienta pedagógica; nunca se utiliza en sistemas de producción.

¿Listo para continuar?

¡Todos los ejercicios completados! Marca la lección como terminada para guardar tus puntos de XP y desbloquear la siguiente.