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

Mais procurados

Rahat &amp; juhith
Rahat &amp; juhithRahat &amp; juhith
Rahat &amp; juhithRj Juhith
 
Inner join and outer join
Inner join and outer joinInner join and outer join
Inner join and outer joinNargis Ehsan
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 
Semana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetoresSemana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetoresPedro Valente
 
Presentation on the topic selection sort
Presentation on the topic selection sortPresentation on the topic selection sort
Presentation on the topic selection sortDistrict Administration
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenaçãoJonas Mendonça
 
Algorithms Lecture 4: Sorting Algorithms I
Algorithms Lecture 4: Sorting Algorithms IAlgorithms Lecture 4: Sorting Algorithms I
Algorithms Lecture 4: Sorting Algorithms IMohamed Loey
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 
Metodos de ordenação estrutura de dados
Metodos de ordenação   estrutura de dadosMetodos de ordenação   estrutura de dados
Metodos de ordenação estrutura de dadosThalita Chaves
 
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Leinylson Fontinele
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 

Mais procurados (20)

Avl tree
Avl treeAvl tree
Avl tree
 
Rahat &amp; juhith
Rahat &amp; juhithRahat &amp; juhith
Rahat &amp; juhith
 
Inner join and outer join
Inner join and outer joinInner join and outer join
Inner join and outer join
 
Trees, Binary Search Tree, AVL Tree in Data Structures
Trees, Binary Search Tree, AVL Tree in Data Structures Trees, Binary Search Tree, AVL Tree in Data Structures
Trees, Binary Search Tree, AVL Tree in Data Structures
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
Join dependency
Join dependencyJoin dependency
Join dependency
 
Semana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetoresSemana10-ordenacao-pesquisa-vetores
Semana10-ordenacao-pesquisa-vetores
 
Presentation on the topic selection sort
Presentation on the topic selection sortPresentation on the topic selection sort
Presentation on the topic selection sort
 
Insertion sort algorithm power point presentation
Insertion  sort algorithm power point presentation Insertion  sort algorithm power point presentation
Insertion sort algorithm power point presentation
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
Algorithms Lecture 4: Sorting Algorithms I
Algorithms Lecture 4: Sorting Algorithms IAlgorithms Lecture 4: Sorting Algorithms I
Algorithms Lecture 4: Sorting Algorithms I
 
Binary search
Binary searchBinary search
Binary search
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
Shell sort
Shell sortShell sort
Shell sort
 
Searching
SearchingSearching
Searching
 
AVL Tree
AVL TreeAVL Tree
AVL Tree
 
Selection sort
Selection sortSelection sort
Selection sort
 
Metodos de ordenação estrutura de dados
Metodos de ordenação   estrutura de dadosMetodos de ordenação   estrutura de dados
Metodos de ordenação estrutura de dados
 
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 

Destaque

métodos ordenação C, bolha, selection sort e insertion sort
métodos ordenação C, bolha, selection sort e insertion sortmétodos ordenação C, bolha, selection sort e insertion sort
métodos ordenação C, bolha, selection sort e insertion sortAlessandro Trevisan
 
Selection sort
Selection sortSelection sort
Selection sortasra khan
 
Selection sort
Selection sortSelection sort
Selection sortJay Patel
 
Complexidade de algoritmos insertion, selection e bubble sort.
Complexidade de algoritmos insertion, selection e bubble sort.Complexidade de algoritmos insertion, selection e bubble sort.
Complexidade de algoritmos insertion, selection e bubble sort.Júlio Rocha
 
3.4 selection sort
3.4 selection sort3.4 selection sort
3.4 selection sortKrish_ver2
 
Bubble Sort
Bubble SortBubble Sort
Bubble Sortgeeortiz
 
Analisys of Selection Sort and Bubble Sort
Analisys of Selection Sort and Bubble SortAnalisys of Selection Sort and Bubble Sort
Analisys of Selection Sort and Bubble SortHumano Terricola
 
Ordenamiento burbuja
Ordenamiento burbuja Ordenamiento burbuja
Ordenamiento burbuja luis cedeño
 
ordenacao shellsort quicksort em C
ordenacao shellsort quicksort em Cordenacao shellsort quicksort em C
ordenacao shellsort quicksort em CAlessandro Trevisan
 
Big oh Representation Used in Time complexities
Big oh Representation Used in Time complexitiesBig oh Representation Used in Time complexities
Big oh Representation Used in Time complexitiesLAKSHMITHARUN PONNAM
 
Selection sort 1
Selection sort 1Selection sort 1
Selection sort 1asmhemu
 
Selection sort
Selection sortSelection sort
Selection sortamna izzat
 
Análise de desempenho de algoritmos de ordenação
Análise de desempenho de algoritmos de ordenaçãoAnálise de desempenho de algoritmos de ordenação
Análise de desempenho de algoritmos de ordenaçãoGustavo Carvalho
 
Java Platform, Enterprise Edition
Java Platform, Enterprise EditionJava Platform, Enterprise Edition
Java Platform, Enterprise EditionDaniel Arndt Alves
 

Destaque (20)

métodos ordenação C, bolha, selection sort e insertion sort
métodos ordenação C, bolha, selection sort e insertion sortmétodos ordenação C, bolha, selection sort e insertion sort
métodos ordenação C, bolha, selection sort e insertion sort
 
Selection sort
Selection sortSelection sort
Selection sort
 
Selection sort
Selection sortSelection sort
Selection sort
 
Complexidade de algoritmos insertion, selection e bubble sort.
Complexidade de algoritmos insertion, selection e bubble sort.Complexidade de algoritmos insertion, selection e bubble sort.
Complexidade de algoritmos insertion, selection e bubble sort.
 
The selection sort algorithm
The selection sort algorithmThe selection sort algorithm
The selection sort algorithm
 
3.4 selection sort
3.4 selection sort3.4 selection sort
3.4 selection sort
 
Bubble Sort
Bubble SortBubble Sort
Bubble Sort
 
Analisys of Selection Sort and Bubble Sort
Analisys of Selection Sort and Bubble SortAnalisys of Selection Sort and Bubble Sort
Analisys of Selection Sort and Bubble Sort
 
Ordenamiento burbuja
Ordenamiento burbuja Ordenamiento burbuja
Ordenamiento burbuja
 
ordenacao shellsort quicksort em C
ordenacao shellsort quicksort em Cordenacao shellsort quicksort em C
ordenacao shellsort quicksort em C
 
Big oh Representation Used in Time complexities
Big oh Representation Used in Time complexitiesBig oh Representation Used in Time complexities
Big oh Representation Used in Time complexities
 
Selection sort 1
Selection sort 1Selection sort 1
Selection sort 1
 
Selection sort
Selection sortSelection sort
Selection sort
 
Sorting
SortingSorting
Sorting
 
Shell sort
Shell sortShell sort
Shell sort
 
Análise de desempenho de algoritmos de ordenação
Análise de desempenho de algoritmos de ordenaçãoAnálise de desempenho de algoritmos de ordenação
Análise de desempenho de algoritmos de ordenação
 
Metodo burbuja
Metodo burbujaMetodo burbuja
Metodo burbuja
 
Java Platform, Enterprise Edition
Java Platform, Enterprise EditionJava Platform, Enterprise Edition
Java Platform, Enterprise Edition
 
Hiearquia Window
Hiearquia WindowHiearquia Window
Hiearquia Window
 
Java AWT
Java AWTJava AWT
Java AWT
 

Mais de Daniel Arndt Alves

Strings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHPStrings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHPDaniel Arndt Alves
 
Histórico de Participação do Mackenzie na Maratona de Programação
Histórico de Participação do Mackenzie na Maratona de ProgramaçãoHistórico de Participação do Mackenzie na Maratona de Programação
Histórico de Participação do Mackenzie na Maratona de ProgramaçãoDaniel Arndt Alves
 
Conceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosConceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosDaniel Arndt Alves
 
Exercicios - Java Swing Listeners
Exercicios - Java Swing ListenersExercicios - Java Swing Listeners
Exercicios - Java Swing ListenersDaniel Arndt Alves
 
Estrutura de Dados II - Plano de Ensino
Estrutura de Dados II - Plano de EnsinoEstrutura de Dados II - Plano de Ensino
Estrutura de Dados II - Plano de EnsinoDaniel Arndt Alves
 
Estrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaEstrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaDaniel Arndt Alves
 
Técnicas de Programação Aplicada III - Apresentação da Disciplina
Técnicas de Programação Aplicada III - Apresentação da DisciplinaTécnicas de Programação Aplicada III - Apresentação da Disciplina
Técnicas de Programação Aplicada III - Apresentação da DisciplinaDaniel Arndt Alves
 
Técnicas de Programação Aplicada III - Plano de Ensino
Técnicas de Programação Aplicada III - Plano de EnsinoTécnicas de Programação Aplicada III - Plano de Ensino
Técnicas de Programação Aplicada III - Plano de EnsinoDaniel Arndt Alves
 

Mais de Daniel Arndt Alves (20)

Sessao
SessaoSessao
Sessao
 
Variaveis Superglobais
Variaveis SuperglobaisVariaveis Superglobais
Variaveis Superglobais
 
Programacao Modular
Programacao ModularProgramacao Modular
Programacao Modular
 
Strings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHPStrings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHP
 
Introducao ao PHP
Introducao ao PHPIntroducao ao PHP
Introducao ao PHP
 
Arquitetura web
Arquitetura webArquitetura web
Arquitetura web
 
HTML Básico
HTML BásicoHTML Básico
HTML Básico
 
Histórico de Participação do Mackenzie na Maratona de Programação
Histórico de Participação do Mackenzie na Maratona de ProgramaçãoHistórico de Participação do Mackenzie na Maratona de Programação
Histórico de Participação do Mackenzie na Maratona de Programação
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Análise de Algoritmos
Análise de AlgoritmosAnálise de Algoritmos
Análise de Algoritmos
 
Java RMI
Java RMIJava RMI
Java RMI
 
Conceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosConceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos Distribuidos
 
Exercicios - Java Swing Listeners
Exercicios - Java Swing ListenersExercicios - Java Swing Listeners
Exercicios - Java Swing Listeners
 
Gerenciadores de Layout
Gerenciadores de LayoutGerenciadores de Layout
Gerenciadores de Layout
 
Exercicios - Java Swing
Exercicios - Java SwingExercicios - Java Swing
Exercicios - Java Swing
 
Java Swing
Java SwingJava Swing
Java Swing
 
Estrutura de Dados II - Plano de Ensino
Estrutura de Dados II - Plano de EnsinoEstrutura de Dados II - Plano de Ensino
Estrutura de Dados II - Plano de Ensino
 
Estrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaEstrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da Disciplina
 
Técnicas de Programação Aplicada III - Apresentação da Disciplina
Técnicas de Programação Aplicada III - Apresentação da DisciplinaTécnicas de Programação Aplicada III - Apresentação da Disciplina
Técnicas de Programação Aplicada III - Apresentação da Disciplina
 
Técnicas de Programação Aplicada III - Plano de Ensino
Técnicas de Programação Aplicada III - Plano de EnsinoTécnicas de Programação Aplicada III - Plano de Ensino
Técnicas de Programação Aplicada III - Plano de Ensino
 

Último

Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfmirandadudu08
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxfabiolalopesmartins1
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 

Último (20)

Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdf
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptx
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 

Selection Sort Aula

  • 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