O que é Algoritmo de Ordenação
Algoritmo de Ordenação é um método sistemático para organizar elementos de uma estrutura de dados em uma sequência específica — geralmente crescente ou decrescente. Algoritmos de ordenação são fundamentais em ciência da computação porque dados ordenados permitem busca mais rápida (como a busca binária em O(log n)) e simplificam operações de análise, exibição e indexação.
Existem dezenas de algoritmos de ordenação, cada um com características próprias de complexidade temporal, complexidade espacial, estabilidade e adequação a diferentes tipos de entrada. A escolha entre eles impacta diretamente a performance de aplicações em larga escala.
Características importantes
- Complexidade temporal: O(n²) para ineficientes (Bubble), O(n log n) para eficientes (Quick, Merge)
- Estabilidade: Mantém ordem relativa de elementos iguais (Merge é estável, Quick não)
- In-place: Usa pouca memória extra (Bubble, Quick) vs out-of-place (Merge)
- Adaptativo: Performance melhor em dados parcialmente ordenados
Algoritmos mais conhecidos
- Bubble Sort: Simples, didático, mas O(n²) — só para datasets pequenos
- Quick Sort: O(n log n) em média, in-place, mais usado na prática
- Merge Sort: O(n log n) garantido, estável, usa memória extra
- Heap Sort: O(n log n), in-place, não estável
- TimSort: Híbrido, usado em Python (sorted) e Java (Arrays.sort)
Para entender melhor a relação com outros conceitos, veja algoritmo e algoritmo de busca.
Leia o artigo completo: Algoritmo de Ordenação: tipos, complexidade e qual usar em cada caso


