Algoritmos em Python

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

Executar código →
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.

  1. Teste entrada vazia, um elemento e duplicados.
  2. Mostre o estado após cada etapa.
  3. Compare o desempenho com outra solução.
Executar no IDE Python →