SlideShare uma empresa Scribd logo
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	
  

Mais conteúdo relacionado

PDF
Ordenação de vetores
PDF
Estrutura de Dados Aula 05 - Filas Estáticas
PDF
Estrutura de dados - Filas
PDF
Insertion Sort
PDF
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
PPTX
Estrutura de Dados - Conceitos fundamentais
PDF
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
PPTX
Estrutura de dados em Java - Filas
Ordenação de vetores
Estrutura de Dados Aula 05 - Filas Estáticas
Estrutura de dados - Filas
Insertion Sort
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Estrutura de dados em Java - Filas

Mais procurados (20)

PDF
Estrutura de Dados Aula 04 - Listas Estáticas
PPTX
Algoritmos de ordenação
PDF
Estrutura de dados
PDF
Bubble Sort
PDF
Estrutura de dados - Pilhas
PPTX
Estrutura de dados em Java - Pilhas
PDF
Estrutura de Dados - Aula 01 - Apresentação
PPSX
Algoritmos de busca
PDF
Estrutura de Dados - Listas Encadeadas
PDF
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
PPT
Pilhas e Filas
PPTX
Algoritmos e Estrutura de Dados - Aula 03
PDF
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
PPTX
Estrutura de dados em Java - Filas
PDF
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
PDF
Lógica de programação em ppt
PDF
Bdm aula 5 - construindo modelos er e mapeamento er-relacional
PDF
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
PDF
Estrutura de Dados - Aula 06 - Pilhas Estáticas
PDF
Árvores balanceadas - AVL
Estrutura de Dados Aula 04 - Listas Estáticas
Algoritmos de ordenação
Estrutura de dados
Bubble Sort
Estrutura de dados - Pilhas
Estrutura de dados em Java - Pilhas
Estrutura de Dados - Aula 01 - Apresentação
Algoritmos de busca
Estrutura de Dados - Listas Encadeadas
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Pilhas e Filas
Algoritmos e Estrutura de Dados - Aula 03
Pesquisa e Ordenação - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de dados em Java - Filas
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Lógica de programação em ppt
Bdm aula 5 - construindo modelos er e mapeamento er-relacional
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados - Aula 06 - Pilhas Estáticas
Árvores balanceadas - AVL
Anúncio

Destaque (20)

PDF
métodos ordenação C, bolha, selection sort e insertion sort
PPTX
Selection sort
DOC
Selection sort
PPTX
Selection sort
DOC
Complexidade de algoritmos insertion, selection e bubble sort.
PPTX
The selection sort algorithm
PPT
3.4 selection sort
PDF
Metodos de ordenação estrutura de dados
PPTX
Bubble Sort
PDF
Analisys of Selection Sort and Bubble Sort
PPTX
Ordenamiento burbuja
PDF
ordenacao shellsort quicksort em C
PDF
Algoritmo Shell Sort
PPT
Big oh Representation Used in Time complexities
PPTX
Selection sort 1
PPT
Selection sort
PPTX
Shell sort
PDF
Sorting
PPT
Shell sort
PDF
Análise de desempenho de algoritmos de ordenação
métodos ordenação C, bolha, selection sort e insertion sort
Selection sort
Selection sort
Selection sort
Complexidade de algoritmos insertion, selection e bubble sort.
The selection sort algorithm
3.4 selection sort
Metodos de ordenação estrutura de dados
Bubble Sort
Analisys of Selection Sort and Bubble Sort
Ordenamiento burbuja
ordenacao shellsort quicksort em C
Algoritmo Shell Sort
Big oh Representation Used in Time complexities
Selection sort 1
Selection sort
Shell sort
Sorting
Shell sort
Análise de desempenho de algoritmos de ordenação
Anúncio

Mais de Daniel Arndt Alves (20)

PDF
Variaveis Superglobais
PDF
Programacao Modular
PDF
Strings, Arrays e Manipulação Datas em PHP
PDF
Introducao ao PHP
PDF
Arquitetura web
PDF
HTML Básico
PDF
Histórico de Participação do Mackenzie na Maratona de Programação
PDF
Polimorfismo
PDF
Análise de Algoritmos
PDF
PDF
Java Platform, Enterprise Edition
PDF
Conceitos Básicos de Objetos Distribuidos
PDF
Exercicios - Java Swing Listeners
PPTX
Gerenciadores de Layout
PDF
Hiearquia Window
PDF
Exercicios - Java Swing
PDF
PDF
Java Swing
PDF
Estrutura de Dados II - Plano de Ensino
Variaveis Superglobais
Programacao Modular
Strings, Arrays e Manipulação Datas em PHP
Introducao ao PHP
Arquitetura web
HTML Básico
Histórico de Participação do Mackenzie na Maratona de Programação
Polimorfismo
Análise de Algoritmos
Java Platform, Enterprise Edition
Conceitos Básicos de Objetos Distribuidos
Exercicios - Java Swing Listeners
Gerenciadores de Layout
Hiearquia Window
Exercicios - Java Swing
Java Swing
Estrutura de Dados II - Plano de Ensino

Último (20)

PDF
RELATÓRIO DE ESTÁGIO SURVISIONADO: NEUROPSICOPEDAGOGIA INSTITUCIONAL, CLÍNIC...
DOC
PPP 2024 (2) (2) feito EM REELABORAÇÃO MORENA ( ABRIL 2024).doc
PDF
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
PDF
Uma Introdução às Ciências do Alcorão (Islam)
PDF
metabolismo energtico das clulas-131017092002-phpapp02.pdf
DOCX
PLANEJAMENTO QUINZENAL - 18.08.2025 à 29.08.2025 - 2ºANO - PROFESSORA PATRÍCI...
PPTX
Pedagogia em Ambientes Não Escolares.pptx
PPTX
cijma-2501231hejjeiei45156-38f87891.pptx
PPTX
GUERRAFRIA.pptdddddddddddddddddddddddddx
PPTX
4. A cultura do cinema e as vanguardas.pptx
PPTX
Programa Nacional de Saúde do Adulto.pptx
PPTX
NR11 - Treinamento Direcao Defensiva - 2023.pptx
PPTX
Ocupação e transformação dos territórios.pptx
PDF
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
PPTX
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx
PPTX
INTRODUÇÃO AO ESTUDO DA ANATOMIA HUMANA [Salvo automaticamente].pptx
PPT
História e Evolução dos Computadores domésticos
PPSX
4. A Cultura da Catedral - HistóriaCArtes .ppsx
PPTX
administraoemenfermagem e introdução de medicamento
PDF
A provisão de jojuador (ramadã) islamismo
RELATÓRIO DE ESTÁGIO SURVISIONADO: NEUROPSICOPEDAGOGIA INSTITUCIONAL, CLÍNIC...
PPP 2024 (2) (2) feito EM REELABORAÇÃO MORENA ( ABRIL 2024).doc
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
Uma Introdução às Ciências do Alcorão (Islam)
metabolismo energtico das clulas-131017092002-phpapp02.pdf
PLANEJAMENTO QUINZENAL - 18.08.2025 à 29.08.2025 - 2ºANO - PROFESSORA PATRÍCI...
Pedagogia em Ambientes Não Escolares.pptx
cijma-2501231hejjeiei45156-38f87891.pptx
GUERRAFRIA.pptdddddddddddddddddddddddddx
4. A cultura do cinema e as vanguardas.pptx
Programa Nacional de Saúde do Adulto.pptx
NR11 - Treinamento Direcao Defensiva - 2023.pptx
Ocupação e transformação dos territórios.pptx
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx
INTRODUÇÃO AO ESTUDO DA ANATOMIA HUMANA [Salvo automaticamente].pptx
História e Evolução dos Computadores domésticos
4. A Cultura da Catedral - HistóriaCArtes .ppsx
administraoemenfermagem e introdução de medicamento
A provisão de jojuador (ramadã) islamismo

Selection Sort

  • 1. 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  
  • 2. Tópicos  da  Aula   •  Selec%on  Sort   •  Complexidade  Computacional   •  Desvantagens   Daniel  Arndt  Alves   Selec0on  Sort   2  
  • 3. •  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  
  • 4. 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  
  • 5. 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  
  • 6. 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  
  • 7. 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  
  • 8. Selection Sort Daniel  Arndt  Alves   Selec0on  Sort   8  
  • 9. Selec%on  Sort   Daniel  Arndt  Alves   Selec0on  Sort   9  
  • 10. 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  
  • 11. 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  
  • 12. Complexidade  Computacional   Daniel  Arndt  Alves   Selec0on  Sort   12  
  • 13. 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  
  • 14. Daniel  Arndt  Alves   Selec0on  Sort   14  
  • 15. Daniel  Arndt  Alves   Selec0on  Sort   15  
  • 16. 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  
  • 17. Obrigado     Daniel  Arndt  Alves   daniel.alves@mackenzie.br   Daniel  Arndt  Alves   Selec0on  Sort   17