Análise dos Métodos de Ordenação usados em Algoritmos Computacionais

Este artigo apresenta uma análise de alguns dos métodos de ordenação usados em algoritmos computacionais. Comparando as iterações feitas e o tempo em que cada algoritmo leva para ordenar certa quantidade de dados em um vetor podendo ser este de ordem crescente, decrescente ou randômico.

[ Hits: 35.438 ]

Por: Fernando Krein Pinheiro em 29/04/2011


Comparações entre os métodos



Nota-se que o método QuickSort ficou na casa dos milésimos de segundos para o vetor ordenado nas três formas apresentadas mostrando-se o melhor dos métodos de ordenação não importando a quantidade de valores nem a forma de ordenação.

O método SelectionSort possui bom desempenho para valores ordenados crescentemente, já com valores randômicos e decrescentes não é recomendado a não ser que a quantidade de dados seja de ordem menor que 10.000 e que apenas esse método possa ser utilizado no momento do desenvolvimento de um software.

Para valores que estão ao todo ou parcialmente ordenados em ordem crescente e cuja a ordenação seja em ordem crescente o melhor método a ser usado é o InsertionSort devido a sua técnica de ordenação e comparação este demonstrou ser o ideal em todos os casos e quantidades de valores.

Já para a ordem decrescente não é recomendado em nenhuma ocasião pois faz muitas iterações (trocas) e demanda muito tempo. Com números ordenados randomicamente mostra-se eficiente com quantidades de ordem menor a 20.000, mas ainda assim perde em tempo e desempenho para o QuickSort.

QuickSort e InsertionSort mostrando desempenho excepcional com vetores de ordem crescente cuja ordenação deve ser crescente. Baixo desempenho e tempo elevado são características do método SelectionSort para grandes quantidades de dados.

As funções responsáveis por cada método:

QUICKSORT:
SELECTIONSORT:
INSERTIONSORT:
Linux: Análise dos Métodos de Ordenação usados em Algoritmos Computacionais
Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Desenvolvimento
   3. Testes baseados em tempo
   4. Comparações entre os métodos
   5. Algoritmo completo
   6. Conclusões
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Linguagem C - Listas Duplamente Encadeadas

Guia de Programação em C/GTK 2 - Construindo uma Calculadora Completa

Linguagem C - Árvores Binárias

Dicas para aprender programação

Otimização de algoritmos

  
Comentários
[1] Comentário enviado por ricardoolonca em 02/05/2011 - 10:04h

Não sou desenvolvedor, mas quero parabenizá-lo pelo ótimo artigo. A forma de escrever e apresentar os fatos com comparações em diferentes ambientes foi muito legal.

Parabéns.

[2] Comentário enviado por fernandopinheiro em 02/05/2011 - 20:00h

Obrigado pelas palavras amigo maionesebr, é esse tipo de comentário que me deixa motivado ha compartilhar o pouco que sei.

[3] Comentário enviado por pablo.ribeiro em 25/09/2011 - 17:27h

muito bom, esta me ajudando para estudar para faculdade rs


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts