Numexa logoNumexa

Visualizador de Algoritmos de Ordenação

Escolha o algoritmo, gere um vetor e veja cada passo.

Comparações: 0 · Trocas/escritas: 0

Vetor inicial

comparandotrocando/escrevendopivôna posição final

Todos os algoritmos neste mesmo vetor

AlgoritmoComparaçõesTrocas/escritas
Bubble Sort230
Insertion Sort230
Merge Sort60112
Heap Sort157102
Selection Sort2760
Quick Sort2760

Este visualizador de algoritmos de ordenação anima os seis métodos mais ensinados em cursos de computação. As barras mudam de cor a cada comparação e troca, e a tabela abaixo da animação mostra quantas operações cada algoritmo faria para ordenar exatamente o mesmo vetor.

Comparação dos Algoritmos de Ordenação

AlgoritmoMelhorMédioPiorMemóriaEstável
Bubble SortO(n)O(n²)O(n²)O(1)Sim
Selection SortO(n²)O(n²)O(n²)O(1)Não
Insertion SortO(n)O(n²)O(n²)O(1)Sim
Merge SortO(n log n)O(n log n)O(n log n)O(n)Sim
Quick SortO(n log n)O(n log n)O(n²)O(log n)Não
Heap SortO(n log n)O(n log n)O(n log n)O(1)Não

Os Seis Métodos em Uma Frase

  • Bubble Sort: O Bubble Sort, ou ordenação por bolha, percorre o vetor várias vezes comparando pares de elementos vizinhos e trocando os que estão fora de ordem.
  • Selection Sort: O Selection Sort, ou ordenação por seleção, procura o menor elemento da parte não ordenada e o coloca na primeira posição livre.
  • Insertion Sort: O Insertion Sort, ou ordenação por inserção, funciona como organizar cartas na mão: pega o próximo elemento e o desliza para a esquerda até encontrar o lugar certo dentro da parte já ordenada..
  • Merge Sort: O Merge Sort usa a estratégia de dividir para conquistar: divide o vetor ao meio repetidamente até sobrarem pedaços de um elemento e depois intercala (merge) esses pedaços em ordem, de dois em dois, até reconstruir o vetor inteiro ordenado..
  • Quick Sort: O Quick Sort escolhe um elemento chamado pivô e reorganiza o vetor de modo que os menores fiquem à esquerda dele e os maiores à direita.
  • Heap Sort: O Heap Sort organiza o vetor como um max-heap, uma árvore binária em que cada pai é maior que seus filhos, guardada no próprio vetor.

Teste os Casos Especiais

Use a opção “Vetor inicial” para ver como cada algoritmo reage a entradas diferentes. Com o vetor já ordenado, o Insertion Sort e o Bubble Sort terminam quase na hora, enquanto o Quick Sort com pivô no fim cai no pior caso. Com o vetor invertido, o Insertion Sort faz o máximo de trocas possível. Merge Sort e Heap Sort mantêm o mesmo ritmo em qualquer caso.

Perguntas Frequentes

Qual é o algoritmo de ordenação mais rápido?

Para uso geral em memória, o Quick Sort costuma ser o mais rápido na prática. Linguagens modernas usam híbridos: Python e Java (para objetos) usam Timsort, que mistura Merge Sort e Insertion Sort; C++ usa Introsort, que mistura Quick, Heap e Insertion Sort.

O que significa um algoritmo de ordenação ser estável?

Que elementos com a mesma chave mantêm a ordem original. Isso importa ao ordenar por mais de um critério: se você ordena uma lista de alunos por nome e depois, com um algoritmo estável, por nota, alunos com a mesma nota continuam em ordem alfabética.

Por que não existe ordenação por comparação mais rápida que O(n log n)?

Porque existem n! ordens possíveis para n elementos, e cada comparação só tem dois resultados. São necessárias pelo menos log₂(n!) comparações para distinguir todas, e log₂(n!) cresce como n log n. Algoritmos como Counting Sort e Radix Sort escapam desse limite porque não comparam elementos.

Ferramentas Relacionadas