SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Universidade Presbiteriana Mackenzie	
  
Aula	
  4:	
  Inser-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	
   Inser/on	
  Sort	
   1	
  
Tópicos	
  da	
  Aula	
  
•  Inser&on	
  Sort	
  
•  Complexidade	
  Computacional	
  
•  Observações	
  
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   2	
  
•  Em	
  cada	
  etapa,	
  assume-­‐se	
  que	
  o	
  vetor	
  está	
  
dividido	
  em	
  duas	
  regiões:	
  
– A	
  primeira	
  já	
  está	
  ordenada	
  
– A	
  segunda	
  ainda	
  não	
  está	
  ordenada	
  
•  Escolhe-­‐se	
  o	
  primeiro	
  elemento	
  da	
  região	
  não	
  
ordenada	
  e	
  insere-­‐se	
  o	
  mesmo	
  na	
  posição	
  
correta	
  na	
  região	
  ordenada.	
  
Insertion Sort
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   3	
  
•  Na	
  próxima	
  etapa	
  a	
  região	
  1,	
  ordenada,	
  terá	
  
crescido	
  de	
  um	
  elemento	
  e	
  a	
  região	
  2,	
  por	
  
ordenar,	
  terá	
  decrescido	
  de	
  um	
  elemento.	
  
Insertion Sort
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   4	
  
Inser&on	
  Sort	
  
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   5	
  
AO O R E N AD O R E Ni = 4
AO R D E N
62 3 4 51
i = 3 AO R D E N
AD E O R Ni = 5
AD E N O Ri = 6
RA D E N ORes.:
Chaves Iniciais
O R
AO R D E N
i = 2
Inser&on	
  Sort	
  
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   6	
  
Inser&on	
  Sort	
  
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   7	
  
Inser&on	
  Sort	
  
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   8	
  
Inser&on	
  Sort	
  
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   9	
  
Inser&on	
  Sort	
  
/**
* Ordenar da posição início até à posição fim
*/
public void straightInsertionSort(int[] v, int inicio, int fim){
int j, i, temp;
for (j = inicio + 1; j <= fim; j++) {
i = j - 1;
temp = v[j];
// Mover para baixo enquanto for menor
while (temp < v[i]){
v[i+1] = v[i];
i = i - 1;
if(i < inicio)
break;
}
v[i+1] = temp;
}
return;
}
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   10	
  
Inser&on	
  Sort	
  (Sobrecarga)	
  
/**
* Ordenar as primeiras n posições
*/
public void straightInsertionSort(int[] v, int n){
straightInsertionSort(v, 0, n-1);
}
/**
* Ordenar o vetor inteiro
*/
public void straightInsertionSort(int[] v){
straightInsertionSort(v, 0, v.length-1);
}
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   11	
  
Complexidade	
  Computacional	
  
•  Se	
  o	
  vetor	
  a	
  ordenar	
  possui	
  n	
  elementos,	
  
então	
  o	
  algoritmo	
  realizará	
  n-­‐1	
  etapas.	
  
•  Quantas	
  comparações	
  e	
  trocas	
  serão	
  
realizadas?	
  
– No	
  melhor	
  caso,	
  vetor	
  ordenado,	
  serão	
  realizadas	
  
1	
  comparação	
  e	
  1	
  troca	
  por	
  etapa,	
  um	
  total	
  de	
  
(n-­‐1)	
  comparações	
  e	
  (n-­‐1)	
  trocas	
  
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   12	
  
Complexidade	
  Computacional	
  
•  Quantas	
  comparações	
  e	
  trocas	
  serão	
  
realizadas?	
  
– No	
  pior	
  caso,	
  vetor	
  em	
  ordem	
  inversa,	
  serão	
  
realizadas	
  sucessivamente	
  1,	
  2,	
  3,	
  ...,	
  n-­‐1	
  
comparações	
  e	
  trocas.	
  
•  A	
  soma	
  dos	
  termos	
  dessa	
  progressão	
  aritmé/ca	
  será	
  
	
  
– Pode	
  ser	
  demonstrado	
  que	
  para	
  um	
  vetor	
  
aleatório,	
  o	
  número	
  aproximado	
  de	
  comparações	
  
e	
  trocas	
  é	
  
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   13	
  
n2
2
n2
4
Complexidade	
  Computacional	
  
•  Portanto,	
  a	
  complexidade	
  deste	
  algoritmo	
  é	
  
quadrá/ca	
  
•  Straight	
  Inser&on	
  Sort	
  
– T	
  =	
  O(n2)	
  
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   14	
  
Observações	
  
•  A	
  inserção	
  do	
  item	
  em	
  uma	
  posição	
  adequada	
  
na	
  sequência	
  de	
  des/no	
  é	
  realizada	
  com	
  a	
  
movimentação	
  das	
  chaves	
  maiores	
  para	
  a	
  
direita	
  e	
  então	
  é	
  feita	
  a	
  inserção	
  do	
  item	
  na	
  
posição	
  vazia	
  
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   15	
  
Observações	
  
•  Vantagens:	
  
– O	
  número	
  mínimo	
  de	
  comparações	
  e	
  movimentos	
  
ocorre	
  quando	
  os	
  itens	
  já	
  estão	
  originalmente	
  
ordenados	
  
– O	
  número	
  máximo	
  ocorre	
  quando	
  os	
  itens	
  estão	
  
originalmente	
  em	
  ordem	
  reversa,	
  o	
  que	
  indica	
  um	
  
comportamento	
  natural	
  para	
  o	
  algoritmo	
  
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   16	
  
Observações	
  
•  O	
  algoritmo	
  é	
  estável,	
  isto	
  é,	
  os	
  registros	
  com	
  
chaves	
  iguais	
  sempre	
  irão	
  manter	
  a	
  mesma	
  
posição	
  rela/va	
  de	
  antes	
  do	
  início	
  da	
  
ordenação	
  
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   17	
  
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   18	
  
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   19	
  
Imagens	
  
•  h`p://www.caelum.com.br/imagens/curso/cs14-­‐imagem.jpg	
  	
  
•  h`p://www.showmesavings.com/images/target.gif	
  	
  
•  h`p://sandersconsul/ng.com/Portals/58319/images/checklist.jpg	
  	
  
•  h`p://www.classichitspaulista.com.br/wp-­‐content/uploads/2010/12/correios-­‐triagem.jpg	
  	
  
•  h`p://www.blackboard.com/resources/connec/ons/SEARCH-­‐1.jpg	
  	
  
•  h`p://sta/c.howstuffworks.com/gif/how-­‐to-­‐plant-­‐trees-­‐shrubs-­‐and-­‐vines-­‐47.jpg	
  	
  
•  h`p://ffodissahnerak.files.wordpress.com/2007/11/grafo.gif	
  	
  
•  h`p://xpress.superpedido.com.br/Imagens/Capas200502/8536301236.jpg	
  	
  
•  h`p://imagem.buscape.com.br/capas/livros/205/031/190x190_8560031502.jpg	
  	
  
•  h`p://d.yimg.com/gg/u/7a62d58d03887ad0ea7e52fa078e0c0de7b19db6.jpeg	
  	
  
•  h`p://www.computertrainingpa`aya.com/images/big-­‐/ck.jpg	
  	
  
•  h`p://dbestwebdeveloper.com/pinoy-­‐website-­‐developer/wp-­‐content/uploads/
2010/07/12282598707YbD6m.jpg	
  	
  
•  h`p://lake.k12.fl.us/moe/lib/moe/test.jpg	
  	
  
•  h`p://acccbuzz.files.wordpress.com/2010/12/grade.jpg	
  	
  
•  h`p://www.vshandw.com/images/icon.informa/on.gif	
  	
  
•  h`p://cs.bloomington.k12.mn.us/modules/groups/homepagefiles/cms/1597624/Image/Icons/
calendar+icon3.png	
  	
  
•  h`p://www.goldb.org/goldblog/cmg_images/real_programmers_binary.jpg	
  
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   20	
  
Obrigado	
  
	
  
Daniel	
  Arndt	
  Alves	
  
daniel.alves@mackenzie.br	
  
Daniel	
  Arndt	
  Alves	
   Inser/on	
  Sort	
   21	
  

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
Different Sorting tecniques in Data Structure
Different Sorting tecniques in Data StructureDifferent Sorting tecniques in Data Structure
Different Sorting tecniques in Data StructureTushar Gonawala
 
Trabalho métodos de ordenação
Trabalho métodos de ordenaçãoTrabalho métodos de ordenação
Trabalho métodos de ordenaçãoDaiana de Ávila
 
Normalização - Alexandruk
Normalização - AlexandrukNormalização - Alexandruk
Normalização - AlexandrukHebert Alquimim
 
Binary Search Tree
Binary Search TreeBinary Search Tree
Binary Search Treesagar yadav
 
Banco de Dados II Projeto Final de Banco de Dados
Banco de Dados II Projeto Final de Banco de DadosBanco de Dados II Projeto Final de Banco de Dados
Banco de Dados II Projeto Final de Banco de DadosLeinylson Fontinele
 
Algortimos De Ordenamiento
Algortimos De OrdenamientoAlgortimos De Ordenamiento
Algortimos De OrdenamientoRolf Pinto
 
3.2 insertion sort
3.2 insertion sort3.2 insertion sort
3.2 insertion sortKrish_ver2
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesJosé Antonio Sandoval Acosta
 
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
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenaçãoJonas Mendonça
 
Archivos secuenciales indexados
Archivos secuenciales indexadosArchivos secuenciales indexados
Archivos secuenciales indexadosaabnercardona12
 
Searching techniques with progrms
Searching techniques with progrmsSearching techniques with progrms
Searching techniques with progrmsMisssaxena
 

Was ist angesagt? (20)

Merge sort
Merge sortMerge sort
Merge sort
 
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)
 
Aula 07 - lista linear
Aula 07 - lista linearAula 07 - lista linear
Aula 07 - lista linear
 
Different Sorting tecniques in Data Structure
Different Sorting tecniques in Data StructureDifferent Sorting tecniques in Data Structure
Different Sorting tecniques in Data Structure
 
Trabalho métodos de ordenação
Trabalho métodos de ordenaçãoTrabalho métodos de ordenação
Trabalho métodos de ordenação
 
Normalização - Alexandruk
Normalização - AlexandrukNormalização - Alexandruk
Normalização - Alexandruk
 
Binary Search Tree
Binary Search TreeBinary Search Tree
Binary Search Tree
 
Banco de Dados II Projeto Final de Banco de Dados
Banco de Dados II Projeto Final de Banco de DadosBanco de Dados II Projeto Final de Banco de Dados
Banco de Dados II Projeto Final de Banco de Dados
 
Pilhas e Filas
Pilhas e FilasPilhas e Filas
Pilhas e Filas
 
Algortimos De Ordenamiento
Algortimos De OrdenamientoAlgortimos De Ordenamiento
Algortimos De Ordenamiento
 
Insertion Sort
Insertion SortInsertion Sort
Insertion Sort
 
Aula 05
Aula 05Aula 05
Aula 05
 
3.2 insertion sort
3.2 insertion sort3.2 insertion sort
3.2 insertion sort
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras Lineales
 
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
 
Modelação de Dados
Modelação de DadosModelação de Dados
Modelação de Dados
 
Binary tree
Binary tree Binary tree
Binary tree
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
Archivos secuenciales indexados
Archivos secuenciales indexadosArchivos secuenciales indexados
Archivos secuenciales indexados
 
Searching techniques with progrms
Searching techniques with progrmsSearching techniques with progrms
Searching techniques with progrms
 

Mehr von 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
 
Java Platform, Enterprise Edition
Java Platform, Enterprise EditionJava Platform, Enterprise Edition
Java Platform, Enterprise Edition
 
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
 
Hiearquia Window
Hiearquia WindowHiearquia Window
Hiearquia Window
 
Exercicios - Java Swing
Exercicios - Java SwingExercicios - Java Swing
Exercicios - Java Swing
 
Java AWT
Java AWTJava AWT
Java AWT
 
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
 

Kürzlich hochgeladen

P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*Viviane Moreiras
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticash5kpmr7w7
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdfmarlene54545
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxJustinoTeixeira1
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...MariaCristinaSouzaLe1
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdfjacquescardosodias
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLidianePaulaValezi
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxLuizHenriquedeAlmeid6
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAHELENO FAVACHO
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...andreiavys
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxLuizHenriquedeAlmeid6
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.denisecompasso2
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxMarcosLemes28
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...Francisco Márcio Bezerra Oliveira
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmicolourivalcaburite
 

Kürzlich hochgeladen (20)

P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 

Insertion Sort

  • 1. Universidade Presbiteriana Mackenzie   Aula  4:  Inser-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   Inser/on  Sort   1  
  • 2. Tópicos  da  Aula   •  Inser&on  Sort   •  Complexidade  Computacional   •  Observações   Daniel  Arndt  Alves   Inser/on  Sort   2  
  • 3. •  Em  cada  etapa,  assume-­‐se  que  o  vetor  está   dividido  em  duas  regiões:   – A  primeira  já  está  ordenada   – A  segunda  ainda  não  está  ordenada   •  Escolhe-­‐se  o  primeiro  elemento  da  região  não   ordenada  e  insere-­‐se  o  mesmo  na  posição   correta  na  região  ordenada.   Insertion Sort Daniel  Arndt  Alves   Inser/on  Sort   3  
  • 4. •  Na  próxima  etapa  a  região  1,  ordenada,  terá   crescido  de  um  elemento  e  a  região  2,  por   ordenar,  terá  decrescido  de  um  elemento.   Insertion Sort Daniel  Arndt  Alves   Inser/on  Sort   4  
  • 5. Inser&on  Sort   Daniel  Arndt  Alves   Inser/on  Sort   5   AO O R E N AD O R E Ni = 4 AO R D E N 62 3 4 51 i = 3 AO R D E N AD E O R Ni = 5 AD E N O Ri = 6 RA D E N ORes.: Chaves Iniciais O R AO R D E N i = 2
  • 6. Inser&on  Sort   Daniel  Arndt  Alves   Inser/on  Sort   6  
  • 7. Inser&on  Sort   Daniel  Arndt  Alves   Inser/on  Sort   7  
  • 8. Inser&on  Sort   Daniel  Arndt  Alves   Inser/on  Sort   8  
  • 9. Inser&on  Sort   Daniel  Arndt  Alves   Inser/on  Sort   9  
  • 10. Inser&on  Sort   /** * Ordenar da posição início até à posição fim */ public void straightInsertionSort(int[] v, int inicio, int fim){ int j, i, temp; for (j = inicio + 1; j <= fim; j++) { i = j - 1; temp = v[j]; // Mover para baixo enquanto for menor while (temp < v[i]){ v[i+1] = v[i]; i = i - 1; if(i < inicio) break; } v[i+1] = temp; } return; } Daniel  Arndt  Alves   Inser/on  Sort   10  
  • 11. Inser&on  Sort  (Sobrecarga)   /** * Ordenar as primeiras n posições */ public void straightInsertionSort(int[] v, int n){ straightInsertionSort(v, 0, n-1); } /** * Ordenar o vetor inteiro */ public void straightInsertionSort(int[] v){ straightInsertionSort(v, 0, v.length-1); } Daniel  Arndt  Alves   Inser/on  Sort   11  
  • 12. Complexidade  Computacional   •  Se  o  vetor  a  ordenar  possui  n  elementos,   então  o  algoritmo  realizará  n-­‐1  etapas.   •  Quantas  comparações  e  trocas  serão   realizadas?   – No  melhor  caso,  vetor  ordenado,  serão  realizadas   1  comparação  e  1  troca  por  etapa,  um  total  de   (n-­‐1)  comparações  e  (n-­‐1)  trocas   Daniel  Arndt  Alves   Inser/on  Sort   12  
  • 13. Complexidade  Computacional   •  Quantas  comparações  e  trocas  serão   realizadas?   – No  pior  caso,  vetor  em  ordem  inversa,  serão   realizadas  sucessivamente  1,  2,  3,  ...,  n-­‐1   comparações  e  trocas.   •  A  soma  dos  termos  dessa  progressão  aritmé/ca  será     – Pode  ser  demonstrado  que  para  um  vetor   aleatório,  o  número  aproximado  de  comparações   e  trocas  é   Daniel  Arndt  Alves   Inser/on  Sort   13   n2 2 n2 4
  • 14. Complexidade  Computacional   •  Portanto,  a  complexidade  deste  algoritmo  é   quadrá/ca   •  Straight  Inser&on  Sort   – T  =  O(n2)   Daniel  Arndt  Alves   Inser/on  Sort   14  
  • 15. Observações   •  A  inserção  do  item  em  uma  posição  adequada   na  sequência  de  des/no  é  realizada  com  a   movimentação  das  chaves  maiores  para  a   direita  e  então  é  feita  a  inserção  do  item  na   posição  vazia   Daniel  Arndt  Alves   Inser/on  Sort   15  
  • 16. Observações   •  Vantagens:   – O  número  mínimo  de  comparações  e  movimentos   ocorre  quando  os  itens  já  estão  originalmente   ordenados   – O  número  máximo  ocorre  quando  os  itens  estão   originalmente  em  ordem  reversa,  o  que  indica  um   comportamento  natural  para  o  algoritmo   Daniel  Arndt  Alves   Inser/on  Sort   16  
  • 17. Observações   •  O  algoritmo  é  estável,  isto  é,  os  registros  com   chaves  iguais  sempre  irão  manter  a  mesma   posição  rela/va  de  antes  do  início  da   ordenação   Daniel  Arndt  Alves   Inser/on  Sort   17  
  • 18. Daniel  Arndt  Alves   Inser/on  Sort   18  
  • 19. Daniel  Arndt  Alves   Inser/on  Sort   19  
  • 20. Imagens   •  h`p://www.caelum.com.br/imagens/curso/cs14-­‐imagem.jpg     •  h`p://www.showmesavings.com/images/target.gif     •  h`p://sandersconsul/ng.com/Portals/58319/images/checklist.jpg     •  h`p://www.classichitspaulista.com.br/wp-­‐content/uploads/2010/12/correios-­‐triagem.jpg     •  h`p://www.blackboard.com/resources/connec/ons/SEARCH-­‐1.jpg     •  h`p://sta/c.howstuffworks.com/gif/how-­‐to-­‐plant-­‐trees-­‐shrubs-­‐and-­‐vines-­‐47.jpg     •  h`p://ffodissahnerak.files.wordpress.com/2007/11/grafo.gif     •  h`p://xpress.superpedido.com.br/Imagens/Capas200502/8536301236.jpg     •  h`p://imagem.buscape.com.br/capas/livros/205/031/190x190_8560031502.jpg     •  h`p://d.yimg.com/gg/u/7a62d58d03887ad0ea7e52fa078e0c0de7b19db6.jpeg     •  h`p://www.computertrainingpa`aya.com/images/big-­‐/ck.jpg     •  h`p://dbestwebdeveloper.com/pinoy-­‐website-­‐developer/wp-­‐content/uploads/ 2010/07/12282598707YbD6m.jpg     •  h`p://lake.k12.fl.us/moe/lib/moe/test.jpg     •  h`p://acccbuzz.files.wordpress.com/2010/12/grade.jpg     •  h`p://www.vshandw.com/images/icon.informa/on.gif     •  h`p://cs.bloomington.k12.mn.us/modules/groups/homepagefiles/cms/1597624/Image/Icons/ calendar+icon3.png     •  h`p://www.goldb.org/goldblog/cmg_images/real_programmers_binary.jpg   Daniel  Arndt  Alves   Inser/on  Sort   20  
  • 21. Obrigado     Daniel  Arndt  Alves   daniel.alves@mackenzie.br   Daniel  Arndt  Alves   Inser/on  Sort   21