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

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Estructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II RecursividadEstructura de Datos - Unidad II Recursividad
Estructura de Datos - Unidad II Recursividad
 
Deque and its applications
Deque and its applicationsDeque and its applications
Deque and its applications
 
Árvores Rubro Negra
Árvores Rubro NegraÁrvores Rubro Negra
Árvores Rubro Negra
 
Ordenamiento shell
Ordenamiento shellOrdenamiento shell
Ordenamiento shell
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamiento
 
Presentacion Algoritmo heapsort
Presentacion Algoritmo heapsortPresentacion Algoritmo heapsort
Presentacion Algoritmo heapsort
 
áRbol avl
áRbol avláRbol avl
áRbol avl
 
binary search tree
binary search treebinary search tree
binary search tree
 
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
 
linked list
linked listlinked list
linked list
 
Heap sort
Heap sortHeap sort
Heap sort
 
Sorting Techniques
Sorting TechniquesSorting Techniques
Sorting Techniques
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
Sorting Algorithm
Sorting AlgorithmSorting Algorithm
Sorting Algorithm
 
Árvores Rubro Negras
Árvores Rubro NegrasÁrvores Rubro Negras
Árvores Rubro Negras
 
Binary Search Tree
Binary Search TreeBinary Search Tree
Binary Search Tree
 
Trees data structure
Trees data structureTrees data structure
Trees data structure
 
Shell exposición
Shell exposiciónShell exposición
Shell exposición
 
Cuadro comparativo Algoritmos de Ordenamiento
Cuadro comparativo Algoritmos de OrdenamientoCuadro comparativo Algoritmos de Ordenamiento
Cuadro comparativo Algoritmos de Ordenamiento
 
Red black tree
Red black treeRed black tree
Red black tree
 

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
 
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
 

Último

Mesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasMesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasRicardo Diniz campos
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
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
 
O guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfO guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfErasmo Portavoz
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfEyshilaKelly1
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
Geometria  5to Educacion Primaria EDU  Ccesa007.pdfGeometria  5to Educacion Primaria EDU  Ccesa007.pdf
Geometria 5to Educacion Primaria EDU Ccesa007.pdfDemetrio Ccesa Rayme
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPanandatss1
 
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESPRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESpatriciasofiacunha18
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 anoAdelmaTorres2
 
Currículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfCurrículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfIedaGoethe
 
LIVRO A BELA BORBOLETA. Ziraldo e Zélio.
LIVRO A BELA BORBOLETA. Ziraldo e Zélio.LIVRO A BELA BORBOLETA. Ziraldo e Zélio.
LIVRO A BELA BORBOLETA. Ziraldo e Zélio.HildegardeAngel
 
A Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaA Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaFernanda Ledesma
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Free-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptxFree-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptxkarinasantiago54
 
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfPPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfAnaGonalves804156
 
Mapas Mentais - Português - Principais Tópicos.pdf
Mapas Mentais - Português - Principais Tópicos.pdfMapas Mentais - Português - Principais Tópicos.pdf
Mapas Mentais - Português - Principais Tópicos.pdfangelicass1
 
Gametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoGametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoCelianeOliveira8
 

Último (20)

Mesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasMesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecas
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
 
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
 
O guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfO guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdf
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdf
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
Geometria  5to Educacion Primaria EDU  Ccesa007.pdfGeometria  5to Educacion Primaria EDU  Ccesa007.pdf
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SP
 
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESPRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
 
Currículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfCurrículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdf
 
LIVRO A BELA BORBOLETA. Ziraldo e Zélio.
LIVRO A BELA BORBOLETA. Ziraldo e Zélio.LIVRO A BELA BORBOLETA. Ziraldo e Zélio.
LIVRO A BELA BORBOLETA. Ziraldo e Zélio.
 
A Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaA Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão Linguística
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
 
Free-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptxFree-Netflix-PowerPoint-Template-pptheme-1.pptx
Free-Netflix-PowerPoint-Template-pptheme-1.pptx
 
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfPPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
 
Mapas Mentais - Português - Principais Tópicos.pdf
Mapas Mentais - Português - Principais Tópicos.pdfMapas Mentais - Português - Principais Tópicos.pdf
Mapas Mentais - Português - Principais Tópicos.pdf
 
Gametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoGametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e feminino
 

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