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: 32.466 ]

Por: Fernando Krein Pinheiro em 29/04/2011


Desenvolvimento



Método QuickSort

É o algoritmo mais rápido que se conhece entre os de ordenação interna para ampla variedade de situações. Adota a estratégia dividir para conquistar. O funcionamento resume-se em dividir o problema de ordenar um vetor de n posições em outros dois menores, ordenando primeiro uma parte e logo após a outra.

Análise do Algoritmo:

É o método mais eficiente e é altamente recomendável para arquivos grandes. Quanto mais o vetor tiver desordenado mais será sua vantagem em relação aos outros métodos. A escolha correta do pivô é essencial para a garantia de eficiência do algoritmo. Complemento http://www.youtube.com/watch?v=vxENKlcs2Tw

Método SelectionSort

O funcionamento implica em selecionar o menor item do vetor e a seguir troca-lo pela primeira posição do vetor. Isto ocorre para os n-1 elementos restantes, depois com os n-2 itens ate que reste apenas um elemento.Realiza a troca por iteração.

Analise do algoritmo:

Método simples apresenta bom comportamento quanto ao numero de movimentos de registro. Complemento:

Método InsertionSort

Algoritmo eficiente quando aplicado a um vetor com poucos elementos. Em cada passo, a partir de i=2, o i-ésimo item da sequência fonte é apanhado e transferido para a sequência destino sendo inserido no seu lugar apropriado. O algoritmo assemelha-se com a maneira que os jogadores de cartas ordenam as cartas na mão em um jogo como pôquer por exemplo.

Analise do algoritmo:

Sua implementação é simples. Pode ser aprimorado usando outras técnicas de algoritmos, é também o melhor método para se utilizar com vetor ordenado ou mais da metade ordenado. Complemento:
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

Otimização de algoritmos

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

Linguagem C - Árvores Binárias

Tutorial SDL

Linguagem C - Listas Duplamente Encadeadas

  
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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts