Quicksort en Python
Los valores se separan en menores, iguales y mayores que el pivote.
¿Qué es Quicksort en Python?
Los valores se separan en menores, iguales y mayores que el pivote.
Particiona valores alrededor de un pivote.
¿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 Quicksort en Python
O(n log n)Usa Reproducir o Paso para seguir cada comparación y movimiento de datos.
Código de ejemplo
main.py
def quick_sort(values):
if len(values) <= 1:
return values
pivot = values[len(values) // 2]
lower = [value for value in values if value < pivot]
equal = [value for value in values if value == pivot]
higher = [value for value in values if value > pivot]
return quick_sort(lower) + equal + quick_sort(higher)
print(quick_sort([10, 7, 8, 9, 1, 5]))
Resultado esperado
[1, 5, 7, 8, 9, 10]
Cómo funciona
Tiempo medio O(n log n), pero O(n²) con pivotes desfavorables.
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.
- Prueba una entrada vacía, un elemento y duplicados.
- Muestra el estado después de cada paso.
- Compara el rendimiento con otra solución.