Quick Sort.
Escolha um pivô, separe menores e maiores e resolva as partes.
Separa menores e maiores ao redor de um pivô.
Duração que aconteceu.
Execuções concluídas nesta bancada, medidas durante o playback ativo no navegador e salvas apenas neste dispositivo.
Execute o algoritmo até o fim para transformar esta bancada em uma série de medições reais.
O que a bancada revela?
Separa menores e maiores ao redor de um pivô. Cada barra representa um item; a cor quente marca a atual e o verde calmo indica que uma posição já não precisa ser revisitada.
Frequentemente rápido na prática; a escolha do pivô muda o comportamento.
Pseudocódigo e
implementação.
input carregado — pronto para executar
O destaque acompanha o mesmo passo que você vê nas barras. Execute em câmera lenta para conectar intenção e efeito.
function quickSort(items, low = 0, high = items.length - 1) { if (low >= high) return items; const pivot = items[high]; let boundary = low; for (let i = low; i < high; i++) { if (items[i] < pivot) { [items[i], items[boundary]] = [items[boundary], items[i]]; boundary++; } } [items[boundary], items[high]] = [items[high], items[boundary]]; quickSort(items, low, boundary - 1); quickSort(items, boundary + 1, high); return items;}Comparação
lado a lado.
Onde esta estratégia
encaixa?
Use quando você quer bom desempenho médio em sequências na memória e não precisa preservar a ordem original de valores iguais. A melhor forma de internalizar essa escolha é comparar o mesmo cenário com outras estratégias e observar como as métricas se comportam.
testar no modo corrida 