Algoritmos de Ordenação: Guia Completo
Classificado em Computação
Escrito em em português com um tamanho de 2,73 KB.
Bubble Sort
Bubble Sort é um método de ordenação simples, porém ineficiente, devido ao alto número de trocas realizadas.
- Melhor caso: Ocorre quando o arquivo está ordenado, realizando n-1 comparações e nenhuma troca em apenas um passo.
- Pior caso: Ocorre quando o arquivo está em ordem reversa, exigindo n-1 passos, onde o k-ésimo passo realiza n-k comparações e trocas.
Quicksort
Quicksort é considerado o algoritmo de ordenação interna mais rápido para uma ampla variedade de situações.
- Vantagens: Extremamente eficiente para ordenar arquivos de dados.
- Desvantagens: Possui um pior caso com complexidade O(n2) em comparações.
Shell Sort
Shell Sort é o algoritmo de ordenação mais eficiente dentre os de complexidade quadrática. O algoritmo percorre a lista várias vezes, dividindo o grupo maior em grupos menores.
- Vantagem: Implementação simples e requer uma quantidade pequena de código.
- Desvantagem: O método não é estável.
Inserção
Inserção: A partir do segundo elemento (i=2), o i-ésimo elemento da sequência é inserido na posição correta na sequência de destino.
Heapsort
Heapsort: Baseia-se no mesmo princípio da ordenação por seleção. Repete os passos para os n-1 elementos restantes, depois para os n-2 elementos restantes, e assim sucessivamente.
Merge Sort
Merge Sort é um algoritmo de ordenação do tipo dividir-para-conquistar.
- Dividir: Divide os dados em subsequências menores.
- Conquistar: Classifica as metades recursivamente aplicando o Merge Sort.
- Combinar: Junta as metades em um único conjunto já classificado.
Bucket Sort
Bucket Sort, ou Bin Sort, divide um vetor em um número finito de recipientes. Cada recipiente é ordenado individualmente, usando um algoritmo de ordenação diferente ou o próprio Bucket Sort recursivamente. Possui complexidade linear (Θ(n)) quando os valores do vetor são uniformemente distribuídos.
Ordenação por Seleção
A Ordenação por Seleção é um algoritmo que seleciona o menor valor do vetor e o coloca na primeira posição, depois o segundo menor valor na segunda posição, e assim sucessivamente até os últimos dois elementos.