Bubble Sort

6,641 views
6,461 views

Published on

Algoritmo de Ordenação Bubble Sort

Published in: Education
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,641
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Bubble Sort

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 21. Sobrecarga   public void bubbleSort(int[] v){ bubbleSort(v, v.length); } Daniel  Arndt  Alves   Bubble  Sort   21  
  22. 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. 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. 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. 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. 26. Complexidade  Computacional   •  Melhor  caso:  vetor  ordenado   •  Pior  caso:  vetor  inverYdo   Daniel  Arndt  Alves   Bubble  Sort   26  
  27. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 101. Daniel  Arndt  Alves   Bubble  Sort   101  
  102. 102. Daniel  Arndt  Alves   Bubble  Sort   102  
  103. 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. 104. Obrigado     Daniel  Arndt  Alves   daniel.alves@mackenzie.br   Daniel  Arndt  Alves   Bubble  Sort   104  

×