O documento compara algoritmos de ordenação como Shellsort, Quicksort, Heapsort e Bubble sort. O Quicksort geralmente é o mais rápido, enquanto Bubble sort é o mais lento. Shellsort é bom para arquivos de tamanho moderado e fácil de implementar, mas não é estável. Quicksort requer pouca memória auxiliar mas pode ser lento em partições desequilibradas. Heapsort é previsível em tempo mas complexo de implementar.
PostgreSQL Tuning: O elefante mais rápido que um leopardo
Metodos de ordenação estrutura de dados
1. ShellSort
Vantagens
-ShellSort é uma ótima opção para arquivos de tamanho moderado.
-Sua implementação é simples e requer uma quantidade de código pequena.
- Rápido/eficiente
Desvantagens
- O tempo de execução do algoritmo e sensível a ordem inicial do arquivo.
- O método não é estável.
QuickSort
Vantagens
-É extremamente eficiente para ordenar arquivos de dados.
- Necessita de apenas uma pequena pilha como memória auxiliar.
-Não há necessidade de espaço adicional de armazenamento.
-Funciona muito bem com listas grandes de intens.
-É um dos métodos mais rápidos de ordenação, apesar de às vezes partições
desequilibradas conduzirem a uma ordenação lenta.
-Para dados bem bagunçados o Quicksort é mais vantajoso por ser mais econômico.
Desvantagens
-Sua implementação é delicada e difícil:
*Um pequeno engano pode levar a efeitos inesperados para algumas entradas de dados .
- O método não é estável.
2. HeapSort
Vantagens
-É recomendável para aplicações que não podem tolerar eventualmente um caso
desfavorável.
-Para dados imprevisíveis, pode ser mais vantajoso por ser previsível em termos de
tempo de execução.
Desvantagens
- O anel interno do algoritmo é bastante complexo se comparado com o do quickSort.
-Não é estável.
-Construir a árvore-heap pode consumir muita memória.
-Não é recomendado para arquivos com poucos registros , por causa do tempo
necessário para construir o heap.
Bubble sort
Vantagens
- O algoritmo (código) é muito simples e facilita o aprendizado.
- Os elementos são trocados de lugar sem utilizar armazenamento temporário, o que faz
o requerimento de espaço ser mínimo.
Desvantagens
-Porém é muito lento.
-Principal desvantagem é o fato de que não apresenta bons resultados quando a lista
contém muitos itens. Isso porque esse tipo de ordenação exige n² passos de
processamento para cada número n de elementos que serão ordenados. Portanto, o
bubble sort é indicada para o ensino acadêmico, mas não para aplicações na vida real.
3. Comparações
-Shellsort , quicksort e heapsort tem a mesma ordem de grandeza .
-O quicksort é o mais rápido para todos os tamanhos aleatórios experimentados.
-A relação heapsort/quicksort se mantem constante em todos os tamanhos.
- HeapSort é mais estável que Quicksort.