Quicksort em Python
Os valores são separados em menores, iguais e maiores que o pivô.
O que é Quicksort em Python?
Os valores são separados em menores, iguais e maiores que o pivô.
Particione valores em torno de um pivô.
Quando usar?
- Entender algoritmos e estruturas de dados.
- Observar cada etapa e tratar casos de borda.
- Comparar tempo de execução e memória.
Visualizador de Quicksort em Python
O(n log n)Use Executar ou Passo para acompanhar cada comparação e movimento dos dados.
Código de exemplo
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]))
Saída esperada
[1, 5, 7, 8, 9, 10]
Como funciona
Tempo médio O(n log n), mas O(n²) com pivôs desfavoráveis.
Altere os valores e execute o programa no compilador Python online CodeUtility sem instalar Python.
Exercícios práticos
Altere as entradas e teste casos de borda antes de usar conjuntos de dados maiores.
- Teste entrada vazia, um elemento e duplicados.
- Mostre o estado após cada etapa.
- Compare o desempenho com outra solução.