A aula apresenta o algoritmo de ordenação Bubble Sort, discutindo sua implementação, complexidade computacional e exemplo animado. O Bubble Sort ordena um vetor realizando trocas sucessivas dos elementos, "bubble up" o maior valor até o fim do vetor.
Apresentação realizada no ano de 2011, para o curso de Análise e Desenvolvimento de Sistemas da Unicamp, na matéria de Estrutura de Dados. O objetivo era abordar algoritmos de ordenação, e o nosso grupo ficou responsável por apresentar o Bubble Sort (o mais simples e subestimado dos algoritmos)
#nostalgia
Apresentação realizada no ano de 2011, para o curso de Análise e Desenvolvimento de Sistemas da Unicamp, na matéria de Estrutura de Dados. O objetivo era abordar algoritmos de ordenação, e o nosso grupo ficou responsável por apresentar o Bubble Sort (o mais simples e subestimado dos algoritmos)
#nostalgia
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
La utilización de estructuras de datos adecuadas para cada problema hace que se simplifiquen en gran medida los tiempos de respuestas y la cantidad de cómputo realizada.
Por Nelson González
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Gustavo Zimmermann
- Conversão do modelo conceitual para o modelo lógico: atributos, relacionamentos, relacionamento identificador
- Multiplicidade x cardinalidade
- Conversão do modelo conceitual para o modelo lógico: generalização/especialização, agregação
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
La utilización de estructuras de datos adecuadas para cada problema hace que se simplifiquen en gran medida los tiempos de respuestas y la cantidad de cómputo realizada.
Por Nelson González
Banco de Dados II: Conversão do Modelo Conceitual para o Modelo Lógico (aula 6)Gustavo Zimmermann
- Conversão do modelo conceitual para o modelo lógico: atributos, relacionamentos, relacionamento identificador
- Multiplicidade x cardinalidade
- Conversão do modelo conceitual para o modelo lógico: generalização/especialização, agregação
Apresentação dos principais recursos da nova versão do Moodle (2.0).
Apresentação realizada durante a quarta edição do MoodleMoot Brazil, em 2010, na Universidade Presbiteriana Mackenzie.
Apresentação dos principais recursos da nova versão do Moodle (2.0).
Apresentação realizada durante a quarta edição do MoodleMoot Brazil, em 2010, na Universidade Presbiteriana Mackenzie.
Modelos de Integração Moodle - Sistemas de Gestão Acadêmicos e AdministrativosDaniel Arndt Alves
Discussão sobre modelos de integração do ambiente Moodle com outros sistemas, para Controle Acadêmico e Financeiro dos estudantes.
Apresentação realizada durante a terceira edição do MoodleMoot Brazil, em 2009, na Universidade Presbiteriana Mackenzie.
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, Betel, Ordenança para buscar a paz e fazer o bem, 2Tr24, Pr Henrique, EBD NA TV, 2° TRIMESTRE DE 2024, ADULTOS, EDITORA BETEL, TEMA, ORDENANÇAS BÍBLICAS, Doutrina Fundamentais Imperativas aos Cristãos para uma vida bem-sucedida e de Comunhão com DEUS, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Comentários, Bispo Abner Ferreira, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
livro em pdf para professores da educação de jovens e adultos dos anos iniciais ( alfabetização e 1º ano)- material excelente para quem trabalha com turmas de eja. Material para quem dar aula na educação de jovens e adultos . excelente material para professores
Slides Lição 9, Central Gospel, As Bodas Do Cordeiro, 1Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 9, Central Gospel, As Bodas Do Cordeiro, 1Tr24, Pr Henrique, EBD NA TV, Revista ano 11, nº 1, Revista Estudo Bíblico Jovens E Adultos, Central Gospel, 2º Trimestre de 2024, Professor, Tema, Os Grandes Temas Do Fim, Comentarista, Pr. Joá Caitano, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
Sequência Didática - Cordel para Ensino Fundamental ILetras Mágicas
Sequência didática para trabalhar o gênero literário CORDEL, a sugestão traz o trabalho com verbos, mas pode ser adequado com base a sua realidade, retirar dos textos palavras que iniciam com R ou pintar as palavras dissílabas ...
Livro de conscientização acerca do autismo, através de uma experiência pessoal.
O autismo não limita as pessoas. Mas o preconceito sim, ele limita a forma com que as vemos e o que achamos que elas são capazes. - Letícia Butterfield.
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24, Pr Henrique, EBD NA TV, Revista ano 11, nº 1, Revista Estudo Bíblico Jovens E Adultos, Central Gospel, 2º Trimestre de 2024, Professor, Tema, Os Grandes Temas Do Fim, Comentarista, Pr. Joá Caitano, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
proposta curricular da educação de jovens e adultos da disciplina geografia, para os anos finais do ensino fundamental. planejamento de unidades, plano de curso da EJA- GEografia
para o professor que trabalha com a educação de jovens e adultos- anos finais do ensino fundamental.
Aproveitando as ferramentas do Tableau para criatividade e produtividade
Bubble Sort
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
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
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
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