Algoritmos de ordenação
Em programação, muitas vezes, há a necessidade de ordenar dados. Se o nosso volume de
dados não fo...
Selection Sort
O Selection Sort é considerado um algoritmo de ordenação simples, uma vezes que não usa
estruturas de dados...
Insertion Sort
O insertion sort é considerado também um algoritmo de ordenação simples e a sua filosofia é
a seguite: Ir m...
Bubble Sort
O bubble Sort é mais um algoritmo de ordenação simples. O seu funcionamento é baseado na
troca de elementos ad...
QuickSort
O QuickSort é um algoritmo avançado de ordenação, o seu inventor foi Charles Antony
Richard Hoare nos anos 60. É...
Próximos SlideShares
Carregando em…5
×

Algorimos De Ordenação

2.990 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.990
No SlideShare
0
A partir de incorporações
0
Número de incorporações
37
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Algorimos De Ordenação

  1. 1. Algoritmos de ordenação Em programação, muitas vezes, há a necessidade de ordenar dados. Se o nosso volume de dados não for muito grande, não há problema se escolhermos um algoritmo de ordenação eficaz ou não. Simplesmente quando o volume de dados é reduzido o tempo de execução de um algoritmo de ordenação mais elementar é igual ou inferior ao tempo de execução de um algoritmo mais avançado de ordenação. Os algoritmos mais avançados executam mais instruções e utilização maior quantidade estruturas de dados auxiliares. É com o aumento do volume dos dados, que a manipulação destas estruturas de dados revela a sua utilidade e a sua contribuição para uma ordenação mais rápida. Para ordenar, o algoritmo só precisa de saber qual é a chave de ordenação, a partir dai ele manipula os elementos a ordenar, considerando como elemento de comparação a chave que lhe for dada. Por exemplo, podemos ordenar um conjunto de nomes por ordem alfabética crescente ou decrescente. Podemos ordenar um conjunto de números por ordem crescem ou decrescente. Podemos ordenar um conjunto de nomes por ordem crescente ou decrescente do seu comprimento. Vamos considerar a ordenação de vectores de inteiros
  2. 2. Selection Sort O Selection Sort é considerado um algoritmo de ordenação simples, uma vezes que não usa estruturas de dados auxiliares e é bastante intuitivo. Funcionamento: 1) Pesquisa o elemento mais pequeno e troca do mesmo com o elemento da 1º posição 2) Pesquisa o elemento segundo elemento mais pequeno e troca com o elemento da segunda posição. Codigo (Selection Sort.jpg)
  3. 3. Insertion Sort O insertion sort é considerado também um algoritmo de ordenação simples e a sua filosofia é a seguite: Ir mantendo todos os elementos já considerados pelo algortimo ordenados entre si, de tal maneira que quando o algoritmo chegar ao final dos dados, eles estaram todos ordenados.Ou seja, se considerarmos um vector de inteiros, quando o algoritmo está no indice “ i “ do vector, todos os elementos á esquerda desse indice estam ordenados entre si. Codigo(Insertion Sort.jpg)
  4. 4. Bubble Sort O bubble Sort é mais um algoritmo de ordenação simples. O seu funcionamento é baseado na troca de elementos adjacentes que não estejam em ordem entre si. Funcionamento: 1) O Bubble começa no final do vector, e vai trocando todos os elementos adjacentes que não estejam em ordem entre si, até chegar à primeira posição do vector. No final da 1º passagem o elemento mais pequeno já está na primeira posição do vector. 2) O algoritmo vai de novo fazer trocas com elementos adjacentes, começando no último elemento do vector, mas terminando agora ,na segunda posição do vector. 3) E assim por diante, começando sempre no ultimo elemento do vector e, acabando uma posição á frente da posição em que tinha parado na passagem anterior. 4) O Bubble faz n-1 passagem pelos dados. Onde o n é o numero de elementos para ordenar. Código ( bubble Sort.jpg)
  5. 5. QuickSort O QuickSort é um algoritmo avançado de ordenação, o seu inventor foi Charles Antony Richard Hoare nos anos 60. É um algoritmo muito rápido e eficiente e por natureza recursivo. Funcionamento: É escolhido um pivô aleatoriamente e o algoritmo coloca o mesmo na sua posição final. Depois o algoritmo parte os dados em dois, ficando-se com a parte dos dados que está á direita e a parte dos dados que está esquerda da posição final do pivô. Agora o quicksort vai fazer o mesmo a cada uma das duas partes (escolher o pivô, coloca- lo na posição correcta e depois partir de novo os dados em dois). E assim sucessivamente até se ficar com vectores com apenas um elemento. Nessa altura o vector inicial está completamente ordenado. No exemplo do quicksort vamos considerar que o elemento de partição é sempre o ultimo elemento da partição em causa.

×