• Like
  • Save
Bubble Sort
Upcoming SlideShare
Loading in...5
×

Bubble Sort

  • 4,990 views
Uploaded on

Algoritmo de Ordenação Bubble Sort

Algoritmo de Ordenação Bubble Sort

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,990
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Universidade Presbiteriana Mackenzie   Aula  3:  Bubble  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   Bubble  Sort   1  
  • 2. Tópicos  da  Aula   •  Ordenação  de  Vetores   •  Algoritmos  de  Ordenação   •  Bubble  Sort   •  Complexidade  Computacional   •  Exemplo  Animado   •  Observações   Daniel  Arndt  Alves   Bubble  Sort   2  
  • 3. Ordenação de Vetores •  Por vezes é necessário ordenar um vetor de forma crescente ou decrescente. •  Por vezes é necessário que as strings contidas num vetor estejam ordenadas alfabeticamente. •  Algoritmos de ordenação são fáceis de adaptar de forma a ordenar qualquer que seja a ordem que se pretende. Daniel  Arndt  Alves   Bubble  Sort   3  
  • 4. Algoritmos  de  Ordenação   •  Ordenação  =  Sort   •  Rearranjar  os  elementos  de   um  array  (banco  de  dados)  de  modo  a  que   obedeçam  a  um  certo  critério  de  ordem.   – Ordem  numérica   – Ordem  lexicográfica   Daniel  Arndt  Alves   Bubble  Sort   4  
  • 5. Algoritmos  de  Ordenação   Daniel  Arndt  Alves   Bubble  Sort   5   512354277 101 1 2 3 4 5 6 5 12 35 42 77 101 1 2 3 4 5 6
  • 6. Algoritmos  de  Ordenação   •  Metodologias:  troca,  inserção,   seleção,  intercalação,   distribuição  de  chaves   – Chave:  componente  de  uma   estrutura,  ou  de  um  registro  de  banco  de  dados,   segundo  o  qual  se  realiza  a  ordenação.   Daniel  Arndt  Alves   Bubble  Sort   6  
  • 7. Bubble  Sort   •  Percorrer  a  coleção  e  elementos   – Movimentação  do  início  ao  fim  do  vetor   – “Bubble” o  maior  valor  ao  final  do  vetor   uYlizando  pares  de  comparações  e  trocas   Daniel  Arndt  Alves   Bubble  Sort   7   512354277 101 1 2 3 4 5 6
  • 8. Bubble  Sort   •  Percorrer  a  coleção  e  elementos   – Movimentação  do  início  ao  fim  do  vetor   – “Bubble” o  maior  valor  ao  final  do  vetor   uYlizando  pares  de  comparações  e  trocas   Daniel  Arndt  Alves   Bubble  Sort   8   512354277 101 1 2 3 4 5 6 Swap42 77
  • 9. Bubble  Sort   •  Percorrer  a  coleção  e  elementos   – Movimentação  do  início  ao  fim  do  vetor   – “Bubble” o  maior  valor  ao  final  do  vetor   uYlizando  pares  de  comparações  e  trocas   Daniel  Arndt  Alves   Bubble  Sort   9   512357742 101 1 2 3 4 5 6 Swap35 77
  • 10. Bubble  Sort   •  Percorrer  a  coleção  e  elementos   – Movimentação  do  início  ao  fim  do  vetor   – “Bubble” o  maior  valor  ao  final  do  vetor   uYlizando  pares  de  comparações  e  trocas   Daniel  Arndt  Alves   Bubble  Sort   10   512773542 101 1 2 3 4 5 6 Swap12 77
  • 11. Bubble  Sort   •  Percorrer  a  coleção  e  elementos   – Movimentação  do  início  ao  fim  do  vetor   – “Bubble” o  maior  valor  ao  final  do  vetor   uYlizando  pares  de  comparações  e  trocas   Daniel  Arndt  Alves   Bubble  Sort   11   577123542 101 1 2 3 4 5 6 Não há necessidade de swap
  • 12. Bubble  Sort   •  Percorrer  a  coleção  e  elementos   – Movimentação  do  início  ao  fim  do  vetor   – “Bubble” o  maior  valor  ao  final  do  vetor   uYlizando  pares  de  comparações  e  trocas   Daniel  Arndt  Alves   Bubble  Sort   12   577123542 101 1 2 3 4 5 6 Swap5 101
  • 13. Bubble  Sort   •  Percorrer  a  coleção  e  elementos   – Movimentação  do  início  ao  fim  do  vetor   – “Bubble” o  maior  valor  ao  final  do  vetor   uYlizando  pares  de  comparações  e  trocas   Daniel  Arndt  Alves   Bubble  Sort   13   77123542 5 1 2 3 4 5 6 101 Maior valor posicionado corretamente
  • 14. Bubble  Sort   •  Note  que  somente  o  elemento  de  maior  valor   está  posicionado  corretamente   •  Todos  os  demais  valores  conYnuam  fora  de   ordem   •  Então,  precisamos  repeYr  este  processo   Daniel  Arndt  Alves   Bubble  Sort   14   77123542 5 1 2 3 4 5 6 101 Maior valor posicionado corretamente
  • 15. Bubble  Sort   •  RepeYr  quantas  vezes?   – Se  temos  N  elementos…   – Se,  a  cada  iteração,  nós  posicionamos  um   elemento  corretamente…   – Então  nós  repeYmos  o  processo  N  –  1  vezes.   – Desta  forma,  garanYmos  o  correto   posicionamento  dos  N  elementos.   Daniel  Arndt  Alves   Bubble  Sort   15  
  • 16. Bubble  Sort   Daniel  Arndt  Alves   Bubble  Sort   16   77123542 5 1 2 3 4 5 6 101 5421235 77 1 2 3 4 5 6 101 4253512 77 1 2 3 4 5 6 101 4235512 77 1 2 3 4 5 6 101 4235125 77 1 2 3 4 5 6 101 N-1
  • 17. Bubble  Sort   Daniel  Arndt  Alves   Bubble  Sort   17   12354277 101 1 2 3 4 5 6 5 77123542 5 1 2 3 4 5 6 101 5421235 77 1 2 3 4 5 6 101 4253512 77 1 2 3 4 5 6 101 4235512 77 1 2 3 4 5 6 101
  • 18. Bubble  Sort   •  Na  Nésima  iteração, precisamos apenas de   MAX-­‐N  comparações.   •  Por  exemplo:   – Esa  é  a  4a  iteração   – MAX  é  6   – Precisamos  apenas  de  2  comparações   Daniel  Arndt  Alves   Bubble  Sort   18   4253512 77 1 2 3 4 5 6 101
  • 19. Bubble  Sort   public class Sort { public void bubbleSort(int[] v, int n){ int j, k, limit; limit = n-1 while (true){ k = 0; for (j = 0; j <= limit - 1; j++){ if (v[j] > v[j+1]){ swap(v, j, j+1); k = j; } } if (k == 0) break; limit = k; } } } Daniel  Arndt  Alves   Bubble  Sort   19  
  • 20. O  Método  swap   /** * Troca a posição de dois elementos de um array de inteiros * @param v um int array * @param i índice do elemento a ser trocado * @param j índice do elemento a ser trocado */ public void swap(int[] v, int i, int j){ int temp; temp = v[i]; v[i] = v[j]; v[j] = temp; } Daniel  Arndt  Alves   Bubble  Sort   20  
  • 21. Sobrecarga   public void bubbleSort(int[] v){ bubbleSort(v, v.length); } Daniel  Arndt  Alves   Bubble  Sort   21  
  • 22. Invocando  o  método  bubbleSort public static void main(String[] args){ Sort sort = new Sort(); int[] v; v = new int[50]; ... sort.bubbleSort(v); ... int n = umValor; sort.bubbleSort(v, n); }   Daniel  Arndt  Alves   Bubble  Sort   22  
  • 23. Complexidade  Computacional   •  Complexidade  no  tempo:  comportamento  do   algoritmo  no  tempo,  em  função  do  tamanho   da  entrada.   •  Complexidade  no  espaço:  consumo  de   memória  do  algoritmo,  em  função  do   tamanho  da  entrada.   Daniel  Arndt  Alves   Bubble  Sort   23  
  • 24. Complexidade  Computacional   •  Bubble  Sort:  o  tempo  gasto  na  execução  do   algoritmo  varia  em  ordem  quadráYca  em   relação  ao  número  de  elementos  a  serem   ordenados.   – T  =  O(n2)  –  Notação  “Big  O”   – AYvidades  mais  custosas:   •  Comparações   •  Trocas  de  Posição  (swap)   Daniel  Arndt  Alves   Bubble  Sort   24  
  • 25. Complexidade  Computacional   •  Análise  informal  com  base  na  operação  mais   custosa,  que  é  a  comparação   – n  etapas  no  pior  caso   – Na  primeira  etapa,  são  feitas  n-­‐1  comparações  e   trocas,  na  segunda  n-­‐2  e  assim  por  diante.   – Temos  então,  a  soma  dos  termos  de  uma   progressão  aritméYca:   •  (n-­‐1)  +  (n-­‐2)  +  …  +  1   •      Daniel  Arndt  Alves   Bubble  Sort   25   Total = n⋅ n −1( ) 2 ⇒ O n2 ( )
  • 26. Complexidade  Computacional   •  Melhor  caso:  vetor  ordenado   •  Pior  caso:  vetor  inverYdo   Daniel  Arndt  Alves   Bubble  Sort   26  
  • 27. Exemplo  Animado   674523 14 6 3398 42 1 2 3 4 5 6 7 8 to_do index 7 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   27  
  • 28. Exemplo  Animado   674523 14 6 3398 42 1 2 3 4 5 6 7 8 to_do index 7 1 N 8 fez_swap false Daniel  Arndt  Alves   Bubble  Sort   28  
  • 29. Exemplo  Animado   674523 14 6 3398 42 1 2 3 4 5 6 7 8 to_do index 7 1 N 8 Swap fez_swap false Daniel  Arndt  Alves   Bubble  Sort   29  
  • 30. Exemplo  Animado   674598 14 6 3323 42 1 2 3 4 5 6 7 8 to_do index 7 1 N 8 Swap fez_swap true Daniel  Arndt  Alves   Bubble  Sort   30  
  • 31. Exemplo  Animado   674598 14 6 3323 42 1 2 3 4 5 6 7 8 to_do index 7 2 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   31  
  • 32. Exemplo  Animado   674598 14 6 3323 42 1 2 3 4 5 6 7 8 to_do index 7 2 N 8 Swap fez_swap true Daniel  Arndt  Alves   Bubble  Sort   32  
  • 33. Exemplo  Animado   679845 14 6 3323 42 1 2 3 4 5 6 7 8 to_do index 7 2 N 8 Swap fez_swap true Daniel  Arndt  Alves   Bubble  Sort   33  
  • 34. Exemplo  Animado   679845 14 6 3323 42 1 2 3 4 5 6 7 8 to_do index 7 3 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   34  
  • 35. Exemplo  Animado   679845 14 6 3323 42 1 2 3 4 5 6 7 8 to_do index 7 3 N 8 Swap fez_swap true Daniel  Arndt  Alves   Bubble  Sort   35  
  • 36. Exemplo  Animado   671445 98 6 3323 42 1 2 3 4 5 6 7 8 to_do index 7 3 N 8 Swap fez_swap true Daniel  Arndt  Alves   Bubble  Sort   36  
  • 37. Exemplo  Animado   671445 98 6 3323 42 1 2 3 4 5 6 7 8 to_do index 7 4 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   37  
  • 38. Exemplo  Animado   671445 98 6 3323 42 1 2 3 4 5 6 7 8 to_do index 7 4 N 8 Swap fez_swap true Daniel  Arndt  Alves   Bubble  Sort   38  
  • 39. Exemplo  Animado   671445 6 98 3323 42 1 2 3 4 5 6 7 8 to_do index 7 4 N 8 Swap fez_swap true Daniel  Arndt  Alves   Bubble  Sort   39  
  • 40. Exemplo  Animado   671445 6 98 3323 42 1 2 3 4 5 6 7 8 to_do index 7 5 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   40  
  • 41. Exemplo  Animado   671445 6 98 3323 42 1 2 3 4 5 6 7 8 to_do index 7 5 N 8 Swap fez_swap true Daniel  Arndt  Alves   Bubble  Sort   41  
  • 42. Exemplo  Animado   981445 6 67 3323 42 1 2 3 4 5 6 7 8 to_do index 7 5 N 8 Swap fez_swap true Daniel  Arndt  Alves   Bubble  Sort   42  
  • 43. Exemplo  Animado   981445 6 67 3323 42 1 2 3 4 5 6 7 8 to_do index 7 6 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   43  
  • 44. Exemplo  Animado   981445 6 67 3323 42 1 2 3 4 5 6 7 8 to_do index 7 6 N 8 Swap fez_swap true Daniel  Arndt  Alves   Bubble  Sort   44  
  • 45. Exemplo  Animado   331445 6 67 9823 42 1 2 3 4 5 6 7 8 to_do index 7 6 N 8 Swap fez_swap true Daniel  Arndt  Alves   Bubble  Sort   45  
  • 46. Exemplo  Animado   331445 6 67 9823 42 1 2 3 4 5 6 7 8 to_do index 7 7 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   46  
  • 47. Exemplo  Animado   331445 6 67 9823 42 1 2 3 4 5 6 7 8 to_do index 7 7 N 8 Swap fez_swap true Daniel  Arndt  Alves   Bubble  Sort   47  
  • 48. Exemplo  Animado   331445 6 67 4223 98 1 2 3 4 5 6 7 8 to_do index 7 7 N 8 Swap fez_swap true Daniel  Arndt  Alves   Bubble  Sort   48  
  • 49. Exemplo  Animado   331445 6 67 4223 98 1 2 3 4 5 6 7 8 to_do index 7 8 N 8 Fim da Primeira Iteração did_swap true Daniel  Arndt  Alves   Bubble  Sort   49  
  • 50. Exemplo  Animado   331445 6 67 4223 98 1 2 3 4 5 6 7 8 to_do index 6 1 N 8 fez_swap false Daniel  Arndt  Alves   Bubble  Sort   50  
  • 51. Exemplo  Animado   331445 6 67 4223 98 1 2 3 4 5 6 7 8 to_do index 6 1 N 8 fez_swap false No Swap Daniel  Arndt  Alves   Bubble  Sort   51  
  • 52. Exemplo  Animado   331445 6 67 4223 98 1 2 3 4 5 6 7 8 to_do index 6 2 N 8 fez_swap false Daniel  Arndt  Alves   Bubble  Sort   52  
  • 53. Exemplo  Animado   331445 6 67 4223 98 1 2 3 4 5 6 7 8 to_do index 6 2 N 8 fez_swap false Swap Daniel  Arndt  Alves   Bubble  Sort   53  
  • 54. Exemplo  Animado   334514 6 67 4223 98 1 2 3 4 5 6 7 8 to_do index 6 2 N 8 fez_swap true Swap Daniel  Arndt  Alves   Bubble  Sort   54  
  • 55. Exemplo  Animado   334514 6 67 4223 98 1 2 3 4 5 6 7 8 to_do index 6 3 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   55  
  • 56. Exemplo  Animado   334514 6 67 4223 98 1 2 3 4 5 6 7 8 to_do index 6 3 N 8 fez_swap true Swap Daniel  Arndt  Alves   Bubble  Sort   56  
  • 57. Exemplo  Animado   33614 45 67 4223 98 1 2 3 4 5 6 7 8 to_do index 6 3 N 8 fez_swap true Swap Daniel  Arndt  Alves   Bubble  Sort   57  
  • 58. Exemplo  Animado   33614 45 67 4223 98 1 2 3 4 5 6 7 8 to_do index 6 4 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   58  
  • 59. Exemplo  Animado   33614 45 67 4223 98 1 2 3 4 5 6 7 8 to_do index 6 4 N 8 fez_swap true No Swap Daniel  Arndt  Alves   Bubble  Sort   59  
  • 60. Exemplo  Animado   33614 45 67 4223 98 1 2 3 4 5 6 7 8 to_do index 6 5 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   60  
  • 61. Exemplo  Animado   33614 45 67 4223 98 1 2 3 4 5 6 7 8 to_do index 6 5 N 8 fez_swap true Swap Daniel  Arndt  Alves   Bubble  Sort   61  
  • 62. Exemplo  Animado   67614 45 33 4223 98 1 2 3 4 5 6 7 8 to_do index 6 5 N 8 fez_swap true Swap Daniel  Arndt  Alves   Bubble  Sort   62  
  • 63. Exemplo  Animado   67614 45 33 4223 98 1 2 3 4 5 6 7 8 to_do index 6 6 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   63  
  • 64. Exemplo  Animado   67614 45 33 4223 98 1 2 3 4 5 6 7 8 to_do index 6 6 N 8 fez_swap true Swap Daniel  Arndt  Alves   Bubble  Sort   64  
  • 65. Exemplo  Animado   42614 45 33 6723 98 1 2 3 4 5 6 7 8 to_do index 6 6 N 8 fez_swap true Swap Daniel  Arndt  Alves   Bubble  Sort   65  
  • 66. Exemplo  Animado   42614 45 33 6723 98 1 2 3 4 5 6 7 8 to_do index 6 7 N 8 fez_swap true Fim da Segunda Iteração Daniel  Arndt  Alves   Bubble  Sort   66  
  • 67. Exemplo  Animado   42614 45 33 6723 98 1 2 3 4 5 6 7 8 to_do index 5 1 N 8 fez_swap false Daniel  Arndt  Alves   Bubble  Sort   67  
  • 68. Exemplo  Animado   42614 45 33 6723 98 1 2 3 4 5 6 7 8 to_do index 5 1 N 8 fez_swap false Swap Daniel  Arndt  Alves   Bubble  Sort   68  
  • 69. Exemplo  Animado   42623 45 33 6714 98 1 2 3 4 5 6 7 8 to_do index 5 1 N 8 fez_swap true Swap Daniel  Arndt  Alves   Bubble  Sort   69  
  • 70. Exemplo  Animado   42623 45 33 6714 98 1 2 3 4 5 6 7 8 to_do index 5 2 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   70  
  • 71. Exemplo  Animado   42623 45 33 6714 98 1 2 3 4 5 6 7 8 to_do index 5 2 N 8 fez_swap true Swap Daniel  Arndt  Alves   Bubble  Sort   71  
  • 72. Exemplo  Animado   42236 45 33 6714 98 1 2 3 4 5 6 7 8 to_do index 5 2 N 8 fez_swap true Swap Daniel  Arndt  Alves   Bubble  Sort   72  
  • 73. Exemplo  Animado   42236 45 33 6714 98 1 2 3 4 5 6 7 8 to_do index 5 3 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   73  
  • 74. Exemplo  Animado   42236 45 33 6714 98 1 2 3 4 5 6 7 8 to_do index 5 3 N 8 fez_swap true No Swap Daniel  Arndt  Alves   Bubble  Sort   74  
  • 75. Exemplo  Animado   42236 45 33 6714 98 1 2 3 4 5 6 7 8 to_do index 5 4 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   75  
  • 76. Exemplo  Animado   42236 45 33 6714 98 1 2 3 4 5 6 7 8 to_do index 5 4 N 8 fez_swap true Swap Daniel  Arndt  Alves   Bubble  Sort   76  
  • 77. Exemplo  Animado   42236 33 45 6714 98 1 2 3 4 5 6 7 8 to_do index 5 4 N 8 fez_swap true Swap Daniel  Arndt  Alves   Bubble  Sort   77  
  • 78. Exemplo  Animado   42236 33 45 6714 98 1 2 3 4 5 6 7 8 to_do index 5 5 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   78  
  • 79. Exemplo  Animado   42236 33 45 6714 98 1 2 3 4 5 6 7 8 to_do index 5 5 N 8 fez_swap true Swap Daniel  Arndt  Alves   Bubble  Sort   79  
  • 80. Exemplo  Animado   45236 33 42 6714 98 1 2 3 4 5 6 7 8 to_do index 5 5 N 8 fez_swap true Swap Daniel  Arndt  Alves   Bubble  Sort   80  
  • 81. Exemplo  Animado   45236 33 42 6714 98 1 2 3 4 5 6 7 8 to_do index 5 6 N 8 fez_swap true Fim da Terceira Iteração Daniel  Arndt  Alves   Bubble  Sort   81  
  • 82. Exemplo  Animado   45236 33 42 6714 98 1 2 3 4 5 6 7 8 to_do index 4 1 N 8 fez_swap false Daniel  Arndt  Alves   Bubble  Sort   82  
  • 83. Exemplo  Animado   45236 33 42 6714 98 1 2 3 4 5 6 7 8 to_do index 4 1 N 8 fez_swap false Swap Daniel  Arndt  Alves   Bubble  Sort   83  
  • 84. Exemplo  Animado   452314 33 42 676 98 1 2 3 4 5 6 7 8 to_do index 4 1 N 8 fez_swap true Swap Daniel  Arndt  Alves   Bubble  Sort   84  
  • 85. Exemplo  Animado   452314 33 42 676 98 1 2 3 4 5 6 7 8 to_do index 4 2 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   85  
  • 86. Exemplo  Animado   452314 33 42 676 98 1 2 3 4 5 6 7 8 to_do index 4 2 N 8 fez_swap true No Swap Daniel  Arndt  Alves   Bubble  Sort   86  
  • 87. Exemplo  Animado   452314 33 42 676 98 1 2 3 4 5 6 7 8 to_do index 4 3 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   87  
  • 88. Exemplo  Animado   452314 33 42 676 98 1 2 3 4 5 6 7 8 to_do index 4 3 N 8 fez_swap true No Swap Daniel  Arndt  Alves   Bubble  Sort   88  
  • 89. Exemplo  Animado   452314 33 42 676 98 1 2 3 4 5 6 7 8 to_do index 4 4 N 8 fez_swap true Daniel  Arndt  Alves   Bubble  Sort   89  
  • 90. Exemplo  Animado   452314 33 42 676 98 1 2 3 4 5 6 7 8 to_do index 4 4 N 8 fez_swap true No Swap Daniel  Arndt  Alves   Bubble  Sort   90  
  • 91. Exemplo  Animado   452314 33 42 676 98 1 2 3 4 5 6 7 8 to_do index 4 5 N 8 fez_swap true Fim da Quarta Iteração Daniel  Arndt  Alves   Bubble  Sort   91  
  • 92. Exemplo  Animado   452314 33 42 676 98 1 2 3 4 5 6 7 8 to_do index 3 1 N 8 fez_swap false Daniel  Arndt  Alves   Bubble  Sort   92  
  • 93. Exemplo  Animado   452314 33 42 676 98 1 2 3 4 5 6 7 8 to_do index 3 1 N 8 fez_swap false No Swap Daniel  Arndt  Alves   Bubble  Sort   93  
  • 94. Exemplo  Animado   452314 33 42 676 98 1 2 3 4 5 6 7 8 to_do index 3 2 N 8 fez_swap false Daniel  Arndt  Alves   Bubble  Sort   94  
  • 95. Exemplo  Animado   452314 33 42 676 98 1 2 3 4 5 6 7 8 to_do index 3 2 N 8 fez_swap false No Swap Daniel  Arndt  Alves   Bubble  Sort   95  
  • 96. Exemplo  Animado   452314 33 42 676 98 1 2 3 4 5 6 7 8 to_do index 3 3 N 8 fez_swap false Daniel  Arndt  Alves   Bubble  Sort   96  
  • 97. Exemplo  Animado   452314 33 42 676 98 1 2 3 4 5 6 7 8 to_do index 3 3 N 8 fez_swap false No Swap Daniel  Arndt  Alves   Bubble  Sort   97  
  • 98. Exemplo  Animado   452314 33 42 676 98 1 2 3 4 5 6 7 8 to_do index 3 4 N 8 fez_swap false Fim da Quinta Iteração Daniel  Arndt  Alves   Bubble  Sort   98  
  • 99. Exemplo  Animado   452314 33 42 676 98 1 2 3 4 5 6 7 8 to_do index 3 4 N 8 fez_swap false Não foi realizado nenhum swap então, todos os elementos já encontram-se nas posições corretas. Nós podemos “pular” os dois últimos passos do loop externo. Daniel  Arndt  Alves   Bubble  Sort   99  
  • 100. Observações   •  O  algoritmo  é  estável,  isto  é,  os  registros  com   chaves  iguais  nem  sempre  irão  manter  a   mesma  posição  relaYva  de  antes  do  início  da   ordenação   Daniel  Arndt  Alves   Bubble  Sort   100  
  • 101. Daniel  Arndt  Alves   Bubble  Sort   101  
  • 102. Daniel  Arndt  Alves   Bubble  Sort   102  
  • 103. Imagens   •  hkp://www.caelum.com.br/imagens/curso/cs14-­‐imagem.jpg     •  hkp://www.showmesavings.com/images/target.gif     •  hkp://sandersconsulYng.com/Portals/58319/images/checklist.jpg     •  hkp://www.classichitspaulista.com.br/wp-­‐content/uploads/2010/12/correios-­‐triagem.jpg     •  hkp://www.blackboard.com/resources/connecYons/SEARCH-­‐1.jpg     •  hkp://staYc.howstuffworks.com/gif/how-­‐to-­‐plant-­‐trees-­‐shrubs-­‐and-­‐vines-­‐47.jpg     •  hkp://ffodissahnerak.files.wordpress.com/2007/11/grafo.gif     •  hkp://xpress.superpedido.com.br/Imagens/Capas200502/8536301236.jpg     •  hkp://imagem.buscape.com.br/capas/livros/205/031/190x190_8560031502.jpg     •  hkp://d.yimg.com/gg/u/7a62d58d03887ad0ea7e52fa078e0c0de7b19db6.jpeg     •  hkp://www.computertrainingpakaya.com/images/big-­‐Yck.jpg     •  hkp://dbestwebdeveloper.com/pinoy-­‐website-­‐developer/wp-­‐content/uploads/ 2010/07/12282598707YbD6m.jpg     •  hkp://lake.k12.fl.us/moe/lib/moe/test.jpg     •  hkp://acccbuzz.files.wordpress.com/2010/12/grade.jpg     •  hkp://www.vshandw.com/images/icon.informaYon.gif     •  hkp://cs.bloomington.k12.mn.us/modules/groups/homepagefiles/cms/1597624/Image/Icons/ calendar+icon3.png     •  hkp://www.goldb.org/goldblog/cmg_images/real_programmers_binary.jpg   Daniel  Arndt  Alves   Bubble  Sort   103  
  • 104. Obrigado     Daniel  Arndt  Alves   daniel.alves@mackenzie.br   Daniel  Arndt  Alves   Bubble  Sort   104