Visualizador de ordenação
Ordenar parece trivial — mas como você ordena muda totalmente quantas operações são necessárias.
Existe mais de um jeito de organizar
Imagine organizar um baralho na mão. Você pode comparar cartas vizinhas e ir trocando até ficar em ordem (é o bubble sort), ou pegar uma carta de cada vez e encaixá-la no lugar certo entre as que já estão organizadas (insertion sort).
Os dois funcionam. Mas para 1 milhão de cartas, um deles pode levar segundos e o outro horas. É exatamente essa diferença que a visualização abaixo deixa óbvia.
Veja o algoritmo trabalhando
Escolha um algoritmo, ajuste o tamanho e a velocidade, e clique em Ordenar. Amarelo = comparando · vermelho = trocando · verde = posição final.
Experimente o bubble sort com 80 elementos e depois o quicksort com o mesmo tamanho. A diferença no número de comparações é o coração do próximo tópico.
Custo: quanto cresce o trabalho?
Medimos algoritmos por como o número de operações cresce conforme a entrada (n) aumenta — a notação Big O.
Algoritmo Pior caso Estável? Estratégia Bubble sort O(n²) sim trocas entre vizinhos Insertion O(n²) sim insere no lugar certo Selection O(n²) não acha o menor e move Quicksort O(n²)* não divide por um pivô Merge sort O(n log n) sim divide e conquista * na prática quicksort é O(n log n); o pior caso é raro
O(n²) significa: dobrar a entrada multiplica o trabalho por ~4. Já O(n log n) cresce quase linearmente. Para n = 1.000.000, isso é a diferença entre ~1 trilhão e ~20 milhões de operações.
sort() do JavaScript, por exemplo).
Implemente e meça
Mini projeto: escreva o bubble sort e conte quantas comparações ele faz.
function bubbleSort(a) { let comparacoes = 0; for (let i = 0; i < a.length; i++) { for (let j = 0; j < a.length - 1 - i; j++) { comparacoes++; if (a[j] > a[j + 1]) { [a[j], a[j + 1]] = [a[j + 1], a[j]]; // troca } } } return comparacoes; }
Projeto principal: um benchmark que roda bubble e merge sort no mesmo array e compara as comparações.
Desafio extra: recrie este visualizador gravando os passos (compare/troca) e animando-os.
Teste sua intuição
Onde você encontra isso
Ordenar tabelas
Clicar no cabeçalho de uma coluna dispara um algoritmo de ordenação.
Busca binária
Só funciona em dados ordenados — por isso ordenar vem antes.
Rankings e feeds
Ordenar posts por data, relevância ou pontuação.
Bancos de dados
ORDER BY usa índices e algoritmos de ordenação eficientes.