Algoritmos en Python

Ordenamiento por mezcla en Python

Merge sort divide recursivamente y combina sublistas ordenadas.

¿Qué es Ordenamiento por mezcla en Python?

Merge sort divide recursivamente y combina sublistas ordenadas.

Ordena mediante divide y vencerás.

¿Cuándo se utiliza?

  • Comprender algoritmos y estructuras de datos.
  • Observar cada paso y tratar casos límite.
  • Comparar tiempo de ejecución y memoria.

Visualizador de Ordenamiento por mezcla en Python

O(n log n)

Usa Reproducir o Paso para seguir cada comparación y movimiento de datos.

Código de ejemplo

Ejecutar código →
main.py
def merge_sort(values):
    if len(values) <= 1:
        return values
    middle = len(values) // 2
    left = merge_sort(values[:middle])
    right = merge_sort(values[middle:])
    result = []
    left_index = right_index = 0
    while left_index < len(left) and right_index < len(right):
        if left[left_index] <= right[right_index]:
            result.append(left[left_index])
            left_index += 1
        else:
            result.append(right[right_index])
            right_index += 1
    return result + left[left_index:] + right[right_index:]

print(merge_sort([38, 27, 43, 3, 9, 82, 10]))

Resultado esperado

[3, 9, 10, 27, 38, 43, 82]

Cómo funciona

Garantiza tiempo O(n log n) y utiliza O(n) de memoria adicional.

Cambia los valores y ejecuta el programa en el compilador Python online de CodeUtility sin instalar Python.

Ejercicios prácticos

Modifica las entradas y prueba casos límite antes de usar conjuntos de datos mayores.

  1. Prueba una entrada vacía, un elemento y duplicados.
  2. Muestra el estado después de cada paso.
  3. Compara el rendimiento con otra solución.
Ejecutar en el IDE de Python →