• Save
Selection Sort
Upcoming SlideShare
Loading in...5
×
 

Selection Sort

on

  • 1,855 views

Algoritmo de ordenação Selection Sort

Algoritmo de ordenação Selection Sort

Statistics

Views

Total Views
1,855
Views on SlideShare
1,855
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Selection Sort Selection Sort Presentation Transcript

  • Universidade Presbiteriana Mackenzie   Aula  4:  Selec+on  Sort   Prof. Ms. Daniel Arndt Alves Faculdade  de  Computação  e  Informá+ca   Computação e Informática Faculdade de Estrutura  de   Dados  II   Daniel  Arndt  Alves   Selec0on  Sort   1  
  • Tópicos  da  Aula   •  Selec%on  Sort   •  Complexidade  Computacional   •  Desvantagens   Daniel  Arndt  Alves   Selec0on  Sort   2  
  • •  Um  dos  algoritmos  mais  simples   •  Mais  recomendado  para  conjuntos  pequenos   •  Procedimento:   – Selecione  o  menor  item  do  conjunto  e  troque-­‐o   com  o  item  que  está  na  posição  i   – Repita  essas  operações  com  os  demais  itens  até   que  reste  apenas  um  elemento   Selection Sort Daniel  Arndt  Alves   Selec0on  Sort   3  
  • Selection Sort •  O algoritmo de ordenação selection sort permite ordenar os valores num vetor, por exemplo: a[0] <= a[1] <= a[2] … <= a[a.length-1] •  O algoritmo selection sort coloca o menor item em a[0], o seguinte menor item em a[1], e assim sucessivamente até ao último item. for(i = 0; i <a.length-1; i++) coloca o io item menor em a[i] Daniel  Arndt  Alves   Selec0on  Sort   4  
  • Selection Sort •  Selection sort começa por procurar o menor item do array e troca-o com o item a[0]. •  Selection sort continua procurando o próximo menor item e troca-o com as sucessivos itens do array a. •  Selection sort termina quando já só existe um item. Daniel  Arndt  Alves   Selec0on  Sort   5  
  • Selec%on  Sort   •  Na  primeira  etapa  seleciona-­‐se  o  maior  valor   entre  N  elementos  e  move-­‐se  para  a  “área  de   saída”   •  Na  segunda  etapa  seleciona-­‐se  o  maior  valor   entre  N-­‐1  elementos  e  move-­‐se  para  a  “área   de  saída”   •  Repete-­‐se  o  processo  até  que  N  registros   tenham  sido  selecionados   Daniel  Arndt  Alves   Selec0on  Sort   6  
  • Selec%on  Sort   O   R   D   E   N   A   1   2   3   4   5   6   Chaves  Iniciais:   i=1:   A   R   D   E   N   O   A   D   R   E   N   O   A   D   E   R   N   O   A   D   E   N   R   O   A   D   E   N   O   R   i=2:   i=3:   i=4:   i=5:   Daniel  Arndt  Alves   Selec0on  Sort   7  
  • Selection Sort Daniel  Arndt  Alves   Selec0on  Sort   8  
  • Selec%on  Sort   Daniel  Arndt  Alves   Selec0on  Sort   9  
  • Selec%on  Sort   public void straightSelectionSort(int[] v, int n){ int j, i, maior; for(j = n-1; j >= 1; j--){ // Encontrar o maior, de 0 a j maior = 0; for(i = 1; i <= j; i++){ if(v[i] > v[maior]) maior = i; } swap(v, j, maior); } return; }   Daniel  Arndt  Alves   Selec0on  Sort   10  
  • Complexidade  Computacional   •  Selec%on  Sort   – T  =  O(n2)   •  Comparação  da  eficiência  dos  algoritmos:   1.  Inser%on  Sort   2.  Selec%on  Sort   3.  Bubble  Sort  (faz  muitas  trocas  de  chaves)   Daniel  Arndt  Alves   Selec0on  Sort   11  
  • Complexidade  Computacional   Daniel  Arndt  Alves   Selec0on  Sort   12  
  • Desvantagens   •  O  fato  de  o  conjunto  já  estar  ordenado  não   ajuda  em  nada  (o  número  de  comparações   con0nua  o  mesmo)   •  O  algoritmo  não  é  estável,  isto  é,  os  registros   com  chaves  iguais  nem  sempre  irão  manter  a   mesma  posição  rela0va  de  antes  do  início  da   ordenação   Daniel  Arndt  Alves   Selec0on  Sort   13  
  • Daniel  Arndt  Alves   Selec0on  Sort   14  
  • Daniel  Arndt  Alves   Selec0on  Sort   15  
  • Imagens   •  hcp://www.caelum.com.br/imagens/curso/cs14-­‐imagem.jpg     •  hcp://www.showmesavings.com/images/target.gif     •  hcp://sandersconsul0ng.com/Portals/58319/images/checklist.jpg     •  hcp://www.classichitspaulista.com.br/wp-­‐content/uploads/2010/12/correios-­‐triagem.jpg     •  hcp://www.blackboard.com/resources/connec0ons/SEARCH-­‐1.jpg     •  hcp://sta0c.howstuffworks.com/gif/how-­‐to-­‐plant-­‐trees-­‐shrubs-­‐and-­‐vines-­‐47.jpg     •  hcp://ffodissahnerak.files.wordpress.com/2007/11/grafo.gif     •  hcp://xpress.superpedido.com.br/Imagens/Capas200502/8536301236.jpg     •  hcp://imagem.buscape.com.br/capas/livros/205/031/190x190_8560031502.jpg     •  hcp://d.yimg.com/gg/u/7a62d58d03887ad0ea7e52fa078e0c0de7b19db6.jpeg     •  hcp://www.computertrainingpacaya.com/images/big-­‐0ck.jpg     •  hcp://dbestwebdeveloper.com/pinoy-­‐website-­‐developer/wp-­‐content/uploads/ 2010/07/12282598707YbD6m.jpg     •  hcp://lake.k12.fl.us/moe/lib/moe/test.jpg     •  hcp://acccbuzz.files.wordpress.com/2010/12/grade.jpg     •  hcp://www.vshandw.com/images/icon.informa0on.gif     •  hcp://cs.bloomington.k12.mn.us/modules/groups/homepagefiles/cms/1597624/Image/Icons/ calendar+icon3.png     •  hcp://www.goldb.org/goldblog/cmg_images/real_programmers_binary.jpg   Daniel  Arndt  Alves   Selec0on  Sort   16  
  • Obrigado     Daniel  Arndt  Alves   daniel.alves@mackenzie.br   Daniel  Arndt  Alves   Selec0on  Sort   17