SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
M´etodos de Ordena¸c˜ao: Ordena¸c˜ao por Bolha,
Sele¸c˜ao Direta e Inser¸c˜ao
Professor:
Silvio Luiz Bragatto Boss
e-mail:
silvioboss@utfpr.edu.br
Universidade Tecnol´ogica Federal do Paran´a - UTFPR
Coordenac¸˜ao de Inform´atica - COINF
Curso de Engenharia de Computac¸˜ao
Disciplina de Estrutura de Dados I
M´etodos de Ordena¸c˜ao
Sum´ario
1 M´etodos de Ordena¸c˜ao
Ordena¸c˜ao por Bolhas
Ordena¸c˜ao por Sele¸c˜ao Direta
Ordena¸c˜ao por Inser¸c˜ao
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
BubbleSort - Ordena¸c˜ao por Bolhas
M´etodo de ordena¸c˜ao simples e de entendimento e
implementa¸c˜ao f´aceis;
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
BubbleSort - Ordena¸c˜ao por Bolhas
M´etodo de ordena¸c˜ao simples e de entendimento e
implementa¸c˜ao f´aceis;
Bubblesort est´a entre os mais conhecidos e difundidos
m´etodos de ordena¸c˜ao de arranjos;
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
BubbleSort - Ordena¸c˜ao por Bolhas
M´etodo de ordena¸c˜ao simples e de entendimento e
implementa¸c˜ao f´aceis;
Bubblesort est´a entre os mais conhecidos e difundidos
m´etodos de ordena¸c˜ao de arranjos;
Por´em n˜ao ´e um algoritmo eficiente, ´e estudado para fins de
desenvolvimento de racioc´ınio.
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
BubbleSort - Ordena¸c˜ao por Bolhas
O Princ´ıpio do Bubblesort ´e a troca entre posi¸c˜oes
consecutivas, fazendo com que os valores mais altos (ou mais
baixos) “borbulhem” para o final do arranjo (da´ı o nome
Bubblesort);
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
BubbleSort - Ordena¸c˜ao por Bolhas
O Princ´ıpio do Bubblesort ´e a troca entre posi¸c˜oes
consecutivas, fazendo com que os valores mais altos (ou mais
baixos) “borbulhem” para o final do arranjo (da´ı o nome
Bubblesort);
Neste exemplo, vamos ordenar o arranjo em ordem crescente
de valores, consideremos inicialmente um arranjo qualquer
desordenado
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
BubbleSort - Ordena¸c˜ao por Bolhas
O primeiro passo ´e se fazer a compara¸c˜ao entre os dois
elementos das primeiras posi¸c˜oes :
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
BubbleSort - Ordena¸c˜ao por Bolhas
O primeiro passo ´e se fazer a compara¸c˜ao entre os dois
elementos das primeiras posi¸c˜oes :
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
BubbleSort - Ordena¸c˜ao por Bolhas
O primeiro passo ´e se fazer a compara¸c˜ao entre os dois
elementos das primeiras posi¸c˜oes :
Assim verificamos que neste caso os dois primeiros elementos
est˜ao desordenados entre si, logo devemos troc´a-los de
posi¸c˜ao. E assim continuamos com as compara¸c˜oes dos
elementos subsequentes:
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
BubbleSort - Ordena¸c˜ao por Bolhas
O primeiro passo ´e se fazer a compara¸c˜ao entre os dois
elementos das primeiras posi¸c˜oes :
Assim verificamos que neste caso os dois primeiros elementos
est˜ao desordenados entre si, logo devemos troc´a-los de
posi¸c˜ao. E assim continuamos com as compara¸c˜oes dos
elementos subsequentes:
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
BubbleSort - Ordena¸c˜ao por Bolhas
Aqui, mais uma vez, verificamos que os elementos est˜ao
desordenados entre si. Devemos fazer a troca e continuar
nossas compara¸c˜oes at´e o final do arranjo:
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
BubbleSort - Ordena¸c˜ao por Bolhas
Aqui, mais uma vez, verificamos que os elementos est˜ao
desordenados entre si. Devemos fazer a troca e continuar
nossas compara¸c˜oes at´e o final do arranjo:
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
BubbleSort - Ordena¸c˜ao por Bolhas
Ap´os este primeiro passo, que compreende a primeira
passagem pelo arranjo fazendo as compara¸c˜oes e as trocas
necess´arias, verificamos que o maior elemento, o n´umero 5, foi
parar na ´ultima posi¸c˜ao, seu lugar correto no arranjo
ordenado. Pode-se dizer que o n´umero 5 ”borbulhou”3 para a
sua posi¸c˜ao correta, l´a no final do arranjo.
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
BubbleSort - Ordena¸c˜ao por Bolhas
O pr´oximo passo agora ser´a repetir nosso processo de
compara¸c˜oes e trocas desde o in´ıcio do arranjo. S´o que dessa
vez o processo n˜ao precisar´a comparar o pen´ultimo com o
´ultimo elemento, pois o ´ultimo n´umero, o n´umero 5, est´a em
sua posi¸c˜ao correta no arranjo. Vamos ao processo :
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
BubbleSort - Ordena¸c˜ao por Bolhas
Novamente se compara os dois primeiros elementos do
arranjo. Neste caso, verificamos que ser´a necess´aria a troca
de lugares entre os elementos. Em seguida vamos
continuando as compara¸c˜oes at´e o final
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
BubbleSort - Ordena¸c˜ao por Bolhas
Agora precisaremos repetir o processo novamente, mas desta
vez, al´em de n˜ao precisarmos levar em considera¸c˜ao o ´ultimo
elemento do arranjo (no caso o n´umero 5 ) que j´a est´a
ordenado, tamb´em n˜ao precisaremos levar em considera¸c˜ao o
pen´ultimo elemento do arranjo (no caso o n´umero 4) pois ele
tamb´em est´a em sua posi¸c˜ao correta. Vamos ent˜ao continuar
o processo :
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
BubbleSort - Ordena¸c˜ao por Bolhas
Mais uma vez o elemento de maior valor, o n´umero 3,
”borbulhou”para sua posi¸c˜ao correta. Basta agora mais um
processo para que todo o arranjo fique ordenado.
Neste caso o arranjo j´a est´a ordenado devido as disposi¸c˜oes
iniciais de nosso arranjo, mas n˜ao ´e poss´ıvel nosso algoritmo
saber se todo o arranjo est´a ordenado ou n˜ao, e ´e exatamente
por isso que precisaremos realizar mais um processo.
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
BubbleSort - Ordena¸c˜ao por Bolhas
programa ordena;
var
vetor1 : vetor [1..5] de inteiros;
i, j, aux: inteiro;
in´ıcio
para i de 1 at´e 5 passo 1 fa¸ca
para j de 1 at´e 5-i passo 1 fa¸ca
se vetor1[j] > vetor1[j+1] ent~ao
aux <-- vetor1[j];
vetor1[j] <-- vetor1[j+1];
vetor1[j+1] <-- aux;
fim_se;
fim_para;
fim_para;
fim.
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
Ordena¸c˜ao por Sele¸c˜ao Direta
O met´odo de ordena¸c˜ao por Sele¸c˜ao Direta ´e levemente mais
eficiente que o m´etodo Bubblesort, ainda que se trate de um
algoritmo apenas para estudo e ordena¸c˜ao de pequenos
arranjos;
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
Ordena¸c˜ao por Sele¸c˜ao Direta
O met´odo de ordena¸c˜ao por Sele¸c˜ao Direta ´e levemente mais
eficiente que o m´etodo Bubblesort, ainda que se trate de um
algoritmo apenas para estudo e ordena¸c˜ao de pequenos
arranjos;
A l´ogica consiste em se varrer o arranjo comparando todos os
seus elementos com o primeiro;
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
Ordena¸c˜ao por Sele¸c˜ao Direta
O met´odo de ordena¸c˜ao por Sele¸c˜ao Direta ´e levemente mais
eficiente que o m´etodo Bubblesort, ainda que se trate de um
algoritmo apenas para estudo e ordena¸c˜ao de pequenos
arranjos;
A l´ogica consiste em se varrer o arranjo comparando todos os
seus elementos com o primeiro;
Caso o primeiro elemento esteja desordenado em rela¸c˜ao ao
elemento que est´a sendo comparado com ele no momento, ´e
feita a troca;
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
Ordena¸c˜ao por Sele¸c˜ao Direta
O met´odo de ordena¸c˜ao por Sele¸c˜ao Direta ´e levemente mais
eficiente que o m´etodo Bubblesort, ainda que se trate de um
algoritmo apenas para estudo e ordena¸c˜ao de pequenos
arranjos;
A l´ogica consiste em se varrer o arranjo comparando todos os
seus elementos com o primeiro;
Caso o primeiro elemento esteja desordenado em rela¸c˜ao ao
elemento que est´a sendo comparado com ele no momento, ´e
feita a troca;
Ao se chegar ao final do arranjo, teremos o menor valor ou o
maior, conforme a compara¸c˜ao na primeira posi¸c˜ao do arranjo.
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
Ordena¸c˜ao por Sele¸c˜ao Direta
Embora o n´umero de compara¸c˜oes para o m´etodo da bolha e
para o m´etodo de sele¸c˜ao direta seja o mesmo, o n´umero de
trocas, no caso m´edio, ´e menor para a ordena¸c˜ao por sele¸c˜ao.
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
Ordena¸c˜ao por Sele¸c˜ao Direta
Neste exemplo vamos ordenar o arranjo em ordem crescente
de valores. Consideremos inicialmente um arranjo qualquer
desordenado:
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
Ordena¸c˜ao por Sele¸c˜ao Direta
O passo inicial a se dar ´e comparar o primeiro elemento com
todos os outros elementos do arranjo. Come¸camos
comparando os dois primeiros elementos :
Verifica-se que os dois primeiros elementos est˜ao
desordenados entre si;
Logo devemos troc´a-los de posi¸c˜ao;
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
Ordena¸c˜ao por Sele¸c˜ao Direta
Em seguida continuamos a comparar os outros elementos com
o elemento da primeira posi¸c˜ao.
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
Ordena¸c˜ao por Sele¸c˜ao Direta
Aqui, mais uma vez, verificamos que os elementos est˜ao
desordenados entre si;
A troca ´e feita e as compara¸c˜oes continuam.
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
Ordena¸c˜ao por Sele¸c˜ao Direta
Neste caso percebemos que os elementos j´a est˜ao ordenados
entre si;
N˜ao ´e feita a troca e se continua as compara¸c˜oes.
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
Ordena¸c˜ao por Sele¸c˜ao Direta
Ap´os essa primeira etapa, fizemos com que o menor elemento
do arranjo fosse deslocado para primeira posi¸c˜ao;
O pr´oximo passo ser´a repetir este mesmo procedimento, s´o
que desta vez comparando os elementos do arranjo com o
elemento que est´a na segunda posi¸c˜ao, j´a que a primeira
posi¸c˜ao j´a foi ordenada.
Neste caso ´e feita a troca pois os elementos est˜ao
desordenados entre si;
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
Ordena¸c˜ao por Sele¸c˜ao Direta
O procedimento segue.
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
Ordena¸c˜ao por Sele¸c˜ao Direta
Perceba que desta vez o segundo menor elemento do arranjo
foi deslocado para a segunda posi¸c˜ao;
O processo continua com a mesma l´ogica, sem comparar
agora o primeiro e o segundo elementos do arranjo, pois eles
j´a est˜ao em suas posi¸c˜oes corretas;
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
Ordena¸c˜ao por Sele¸c˜ao Direta
Nestes passos o elemento de menor valor, o n´umero 3, foi
deslocado para sua posi¸c˜ao correta. Mais um processo agora e
todo o arranjo ficar´a ordenado:
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
Ordena¸c˜ao por Sele¸c˜ao Direta
programa ordena;
var
vetA : vetor [1..5] de inteiros;
i, j, aux: inteiro;
in´ıcio
para i de 1 at´e 4 passo 1 fa¸ca
para j de i + 1 at´e 5 passo 1 fa¸ca
se vetA[j] < vetA[i] ent~ao
aux <-- vetA[j];
vetA[j]; <-- vetA[i];
vetA[i]; <-- aux;
fim_se;
fim_para;
fim_para;
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX
M´etodos de Ordena¸c˜ao
Ordena¸c˜ao por Inser¸c˜ao
para j de 2 at´e n fa¸ca
elemento <-- vetor[j];
i<-- j-1;
enquanto i>0 AND vetor[i]>elemento, fa¸ca
vetor[i+1] <-- vetor[i];
i<-- i-1;
fim_enquanto
vetor[i+1] <- elemento;
fim_para
Silvio Luiz Bragatto Boss UTFPR
M´etodos de Ordena¸c˜ao LATEX

Más contenido relacionado

Destacado

Destacado (20)

Ordenação por inserção
Ordenação por inserçãoOrdenação por inserção
Ordenação por inserção
 
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
 
Análise empírica de algoritmos de ordenação
Análise empírica de algoritmos de ordenaçãoAnálise empírica de algoritmos de ordenação
Análise empírica de algoritmos de ordenação
 
Bubble Sort
Bubble SortBubble Sort
Bubble Sort
 
Gerências de Processos: Threads
Gerências de Processos: ThreadsGerências de Processos: Threads
Gerências de Processos: Threads
 
Variaveis locais e globais
Variaveis locais e globaisVariaveis locais e globais
Variaveis locais e globais
 
ordenacao shellsort quicksort em C
ordenacao shellsort quicksort em Cordenacao shellsort quicksort em C
ordenacao shellsort quicksort em C
 
Concorrência com Java
Concorrência com JavaConcorrência com Java
Concorrência com Java
 
Minicurso LaTeX
Minicurso LaTeXMinicurso LaTeX
Minicurso LaTeX
 
Algoritmo Shell Sort
Algoritmo Shell SortAlgoritmo Shell Sort
Algoritmo Shell Sort
 
Introdução ao Latex
Introdução ao LatexIntrodução ao Latex
Introdução ao Latex
 
ERBASE 2015 - Curso Básico de LaTeX
ERBASE 2015 - Curso Básico de LaTeXERBASE 2015 - Curso Básico de LaTeX
ERBASE 2015 - Curso Básico de LaTeX
 
LaTeX Básico II
LaTeX Básico IILaTeX Básico II
LaTeX Básico II
 
Tutorial latex 2011
Tutorial latex 2011Tutorial latex 2011
Tutorial latex 2011
 
[SIFSC] LaTeX para teses e dissertações
[SIFSC] LaTeX para teses e dissertações[SIFSC] LaTeX para teses e dissertações
[SIFSC] LaTeX para teses e dissertações
 
Introdução ao LaTeX
Introdução ao LaTeXIntrodução ao LaTeX
Introdução ao LaTeX
 
LaTeX Básico I
LaTeX Básico ILaTeX Básico I
LaTeX Básico I
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
Ordenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de ChavesOrdenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de Chaves
 
Latex - Minicurso Básico
Latex - Minicurso BásicoLatex - Minicurso Básico
Latex - Minicurso Básico
 

Último

Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorEdvanirCosta
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 

Último (20)

Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de Professor
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 

Bubble Sort, Selection Sort and Insertion Sort Methods

  • 1. M´etodos de Ordena¸c˜ao: Ordena¸c˜ao por Bolha, Sele¸c˜ao Direta e Inser¸c˜ao Professor: Silvio Luiz Bragatto Boss e-mail: silvioboss@utfpr.edu.br Universidade Tecnol´ogica Federal do Paran´a - UTFPR Coordenac¸˜ao de Inform´atica - COINF Curso de Engenharia de Computac¸˜ao Disciplina de Estrutura de Dados I
  • 2. M´etodos de Ordena¸c˜ao Sum´ario 1 M´etodos de Ordena¸c˜ao Ordena¸c˜ao por Bolhas Ordena¸c˜ao por Sele¸c˜ao Direta Ordena¸c˜ao por Inser¸c˜ao Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 3. M´etodos de Ordena¸c˜ao BubbleSort - Ordena¸c˜ao por Bolhas M´etodo de ordena¸c˜ao simples e de entendimento e implementa¸c˜ao f´aceis; Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 4. M´etodos de Ordena¸c˜ao BubbleSort - Ordena¸c˜ao por Bolhas M´etodo de ordena¸c˜ao simples e de entendimento e implementa¸c˜ao f´aceis; Bubblesort est´a entre os mais conhecidos e difundidos m´etodos de ordena¸c˜ao de arranjos; Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 5. M´etodos de Ordena¸c˜ao BubbleSort - Ordena¸c˜ao por Bolhas M´etodo de ordena¸c˜ao simples e de entendimento e implementa¸c˜ao f´aceis; Bubblesort est´a entre os mais conhecidos e difundidos m´etodos de ordena¸c˜ao de arranjos; Por´em n˜ao ´e um algoritmo eficiente, ´e estudado para fins de desenvolvimento de racioc´ınio. Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 6. M´etodos de Ordena¸c˜ao BubbleSort - Ordena¸c˜ao por Bolhas O Princ´ıpio do Bubblesort ´e a troca entre posi¸c˜oes consecutivas, fazendo com que os valores mais altos (ou mais baixos) “borbulhem” para o final do arranjo (da´ı o nome Bubblesort); Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 7. M´etodos de Ordena¸c˜ao BubbleSort - Ordena¸c˜ao por Bolhas O Princ´ıpio do Bubblesort ´e a troca entre posi¸c˜oes consecutivas, fazendo com que os valores mais altos (ou mais baixos) “borbulhem” para o final do arranjo (da´ı o nome Bubblesort); Neste exemplo, vamos ordenar o arranjo em ordem crescente de valores, consideremos inicialmente um arranjo qualquer desordenado Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 8. M´etodos de Ordena¸c˜ao BubbleSort - Ordena¸c˜ao por Bolhas O primeiro passo ´e se fazer a compara¸c˜ao entre os dois elementos das primeiras posi¸c˜oes : Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 9. M´etodos de Ordena¸c˜ao BubbleSort - Ordena¸c˜ao por Bolhas O primeiro passo ´e se fazer a compara¸c˜ao entre os dois elementos das primeiras posi¸c˜oes : Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 10. M´etodos de Ordena¸c˜ao BubbleSort - Ordena¸c˜ao por Bolhas O primeiro passo ´e se fazer a compara¸c˜ao entre os dois elementos das primeiras posi¸c˜oes : Assim verificamos que neste caso os dois primeiros elementos est˜ao desordenados entre si, logo devemos troc´a-los de posi¸c˜ao. E assim continuamos com as compara¸c˜oes dos elementos subsequentes: Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 11. M´etodos de Ordena¸c˜ao BubbleSort - Ordena¸c˜ao por Bolhas O primeiro passo ´e se fazer a compara¸c˜ao entre os dois elementos das primeiras posi¸c˜oes : Assim verificamos que neste caso os dois primeiros elementos est˜ao desordenados entre si, logo devemos troc´a-los de posi¸c˜ao. E assim continuamos com as compara¸c˜oes dos elementos subsequentes: Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 12. M´etodos de Ordena¸c˜ao BubbleSort - Ordena¸c˜ao por Bolhas Aqui, mais uma vez, verificamos que os elementos est˜ao desordenados entre si. Devemos fazer a troca e continuar nossas compara¸c˜oes at´e o final do arranjo: Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 13. M´etodos de Ordena¸c˜ao BubbleSort - Ordena¸c˜ao por Bolhas Aqui, mais uma vez, verificamos que os elementos est˜ao desordenados entre si. Devemos fazer a troca e continuar nossas compara¸c˜oes at´e o final do arranjo: Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 14. M´etodos de Ordena¸c˜ao BubbleSort - Ordena¸c˜ao por Bolhas Ap´os este primeiro passo, que compreende a primeira passagem pelo arranjo fazendo as compara¸c˜oes e as trocas necess´arias, verificamos que o maior elemento, o n´umero 5, foi parar na ´ultima posi¸c˜ao, seu lugar correto no arranjo ordenado. Pode-se dizer que o n´umero 5 ”borbulhou”3 para a sua posi¸c˜ao correta, l´a no final do arranjo. Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 15. M´etodos de Ordena¸c˜ao BubbleSort - Ordena¸c˜ao por Bolhas O pr´oximo passo agora ser´a repetir nosso processo de compara¸c˜oes e trocas desde o in´ıcio do arranjo. S´o que dessa vez o processo n˜ao precisar´a comparar o pen´ultimo com o ´ultimo elemento, pois o ´ultimo n´umero, o n´umero 5, est´a em sua posi¸c˜ao correta no arranjo. Vamos ao processo : Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 16. M´etodos de Ordena¸c˜ao BubbleSort - Ordena¸c˜ao por Bolhas Novamente se compara os dois primeiros elementos do arranjo. Neste caso, verificamos que ser´a necess´aria a troca de lugares entre os elementos. Em seguida vamos continuando as compara¸c˜oes at´e o final Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 17. M´etodos de Ordena¸c˜ao BubbleSort - Ordena¸c˜ao por Bolhas Agora precisaremos repetir o processo novamente, mas desta vez, al´em de n˜ao precisarmos levar em considera¸c˜ao o ´ultimo elemento do arranjo (no caso o n´umero 5 ) que j´a est´a ordenado, tamb´em n˜ao precisaremos levar em considera¸c˜ao o pen´ultimo elemento do arranjo (no caso o n´umero 4) pois ele tamb´em est´a em sua posi¸c˜ao correta. Vamos ent˜ao continuar o processo : Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 18. M´etodos de Ordena¸c˜ao BubbleSort - Ordena¸c˜ao por Bolhas Mais uma vez o elemento de maior valor, o n´umero 3, ”borbulhou”para sua posi¸c˜ao correta. Basta agora mais um processo para que todo o arranjo fique ordenado. Neste caso o arranjo j´a est´a ordenado devido as disposi¸c˜oes iniciais de nosso arranjo, mas n˜ao ´e poss´ıvel nosso algoritmo saber se todo o arranjo est´a ordenado ou n˜ao, e ´e exatamente por isso que precisaremos realizar mais um processo. Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 19. M´etodos de Ordena¸c˜ao BubbleSort - Ordena¸c˜ao por Bolhas programa ordena; var vetor1 : vetor [1..5] de inteiros; i, j, aux: inteiro; in´ıcio para i de 1 at´e 5 passo 1 fa¸ca para j de 1 at´e 5-i passo 1 fa¸ca se vetor1[j] > vetor1[j+1] ent~ao aux <-- vetor1[j]; vetor1[j] <-- vetor1[j+1]; vetor1[j+1] <-- aux; fim_se; fim_para; fim_para; fim. Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 20. M´etodos de Ordena¸c˜ao Ordena¸c˜ao por Sele¸c˜ao Direta O met´odo de ordena¸c˜ao por Sele¸c˜ao Direta ´e levemente mais eficiente que o m´etodo Bubblesort, ainda que se trate de um algoritmo apenas para estudo e ordena¸c˜ao de pequenos arranjos; Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 21. M´etodos de Ordena¸c˜ao Ordena¸c˜ao por Sele¸c˜ao Direta O met´odo de ordena¸c˜ao por Sele¸c˜ao Direta ´e levemente mais eficiente que o m´etodo Bubblesort, ainda que se trate de um algoritmo apenas para estudo e ordena¸c˜ao de pequenos arranjos; A l´ogica consiste em se varrer o arranjo comparando todos os seus elementos com o primeiro; Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 22. M´etodos de Ordena¸c˜ao Ordena¸c˜ao por Sele¸c˜ao Direta O met´odo de ordena¸c˜ao por Sele¸c˜ao Direta ´e levemente mais eficiente que o m´etodo Bubblesort, ainda que se trate de um algoritmo apenas para estudo e ordena¸c˜ao de pequenos arranjos; A l´ogica consiste em se varrer o arranjo comparando todos os seus elementos com o primeiro; Caso o primeiro elemento esteja desordenado em rela¸c˜ao ao elemento que est´a sendo comparado com ele no momento, ´e feita a troca; Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 23. M´etodos de Ordena¸c˜ao Ordena¸c˜ao por Sele¸c˜ao Direta O met´odo de ordena¸c˜ao por Sele¸c˜ao Direta ´e levemente mais eficiente que o m´etodo Bubblesort, ainda que se trate de um algoritmo apenas para estudo e ordena¸c˜ao de pequenos arranjos; A l´ogica consiste em se varrer o arranjo comparando todos os seus elementos com o primeiro; Caso o primeiro elemento esteja desordenado em rela¸c˜ao ao elemento que est´a sendo comparado com ele no momento, ´e feita a troca; Ao se chegar ao final do arranjo, teremos o menor valor ou o maior, conforme a compara¸c˜ao na primeira posi¸c˜ao do arranjo. Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 24. M´etodos de Ordena¸c˜ao Ordena¸c˜ao por Sele¸c˜ao Direta Embora o n´umero de compara¸c˜oes para o m´etodo da bolha e para o m´etodo de sele¸c˜ao direta seja o mesmo, o n´umero de trocas, no caso m´edio, ´e menor para a ordena¸c˜ao por sele¸c˜ao. Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 25. M´etodos de Ordena¸c˜ao Ordena¸c˜ao por Sele¸c˜ao Direta Neste exemplo vamos ordenar o arranjo em ordem crescente de valores. Consideremos inicialmente um arranjo qualquer desordenado: Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 26. M´etodos de Ordena¸c˜ao Ordena¸c˜ao por Sele¸c˜ao Direta O passo inicial a se dar ´e comparar o primeiro elemento com todos os outros elementos do arranjo. Come¸camos comparando os dois primeiros elementos : Verifica-se que os dois primeiros elementos est˜ao desordenados entre si; Logo devemos troc´a-los de posi¸c˜ao; Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 27. M´etodos de Ordena¸c˜ao Ordena¸c˜ao por Sele¸c˜ao Direta Em seguida continuamos a comparar os outros elementos com o elemento da primeira posi¸c˜ao. Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 28. M´etodos de Ordena¸c˜ao Ordena¸c˜ao por Sele¸c˜ao Direta Aqui, mais uma vez, verificamos que os elementos est˜ao desordenados entre si; A troca ´e feita e as compara¸c˜oes continuam. Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 29. M´etodos de Ordena¸c˜ao Ordena¸c˜ao por Sele¸c˜ao Direta Neste caso percebemos que os elementos j´a est˜ao ordenados entre si; N˜ao ´e feita a troca e se continua as compara¸c˜oes. Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 30. M´etodos de Ordena¸c˜ao Ordena¸c˜ao por Sele¸c˜ao Direta Ap´os essa primeira etapa, fizemos com que o menor elemento do arranjo fosse deslocado para primeira posi¸c˜ao; O pr´oximo passo ser´a repetir este mesmo procedimento, s´o que desta vez comparando os elementos do arranjo com o elemento que est´a na segunda posi¸c˜ao, j´a que a primeira posi¸c˜ao j´a foi ordenada. Neste caso ´e feita a troca pois os elementos est˜ao desordenados entre si; Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 31. M´etodos de Ordena¸c˜ao Ordena¸c˜ao por Sele¸c˜ao Direta O procedimento segue. Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 32. M´etodos de Ordena¸c˜ao Ordena¸c˜ao por Sele¸c˜ao Direta Perceba que desta vez o segundo menor elemento do arranjo foi deslocado para a segunda posi¸c˜ao; O processo continua com a mesma l´ogica, sem comparar agora o primeiro e o segundo elementos do arranjo, pois eles j´a est˜ao em suas posi¸c˜oes corretas; Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 33. M´etodos de Ordena¸c˜ao Ordena¸c˜ao por Sele¸c˜ao Direta Nestes passos o elemento de menor valor, o n´umero 3, foi deslocado para sua posi¸c˜ao correta. Mais um processo agora e todo o arranjo ficar´a ordenado: Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 34. M´etodos de Ordena¸c˜ao Ordena¸c˜ao por Sele¸c˜ao Direta programa ordena; var vetA : vetor [1..5] de inteiros; i, j, aux: inteiro; in´ıcio para i de 1 at´e 4 passo 1 fa¸ca para j de i + 1 at´e 5 passo 1 fa¸ca se vetA[j] < vetA[i] ent~ao aux <-- vetA[j]; vetA[j]; <-- vetA[i]; vetA[i]; <-- aux; fim_se; fim_para; fim_para; Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX
  • 35. M´etodos de Ordena¸c˜ao Ordena¸c˜ao por Inser¸c˜ao para j de 2 at´e n fa¸ca elemento <-- vetor[j]; i<-- j-1; enquanto i>0 AND vetor[i]>elemento, fa¸ca vetor[i+1] <-- vetor[i]; i<-- i-1; fim_enquanto vetor[i+1] <- elemento; fim_para Silvio Luiz Bragatto Boss UTFPR M´etodos de Ordena¸c˜ao LATEX