SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Andere mochten auch

Variaveis locais e globais
Variaveis locais e globaisVariaveis locais e globais
Variaveis locais e globais
111111119
 

Andere mochten auch (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
 

Kürzlich hochgeladen

Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdfHistoria-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
andreaLisboa7
 
Manual dos Principio básicos do Relacionamento e sexologia humana .pdf
Manual dos Principio básicos do Relacionamento e sexologia humana .pdfManual dos Principio básicos do Relacionamento e sexologia humana .pdf
Manual dos Principio básicos do Relacionamento e sexologia humana .pdf
Pastor Robson Colaço
 

Kürzlich hochgeladen (20)

o-homem-que-calculava-malba-tahan-1_123516.pdf
o-homem-que-calculava-malba-tahan-1_123516.pdfo-homem-que-calculava-malba-tahan-1_123516.pdf
o-homem-que-calculava-malba-tahan-1_123516.pdf
 
Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdfHistoria-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
 
Abuso Sexual da Criança e do adolescente
Abuso Sexual da Criança e do adolescenteAbuso Sexual da Criança e do adolescente
Abuso Sexual da Criança e do adolescente
 
Descrever e planear atividades imersivas estruturadamente
Descrever e planear atividades imersivas estruturadamenteDescrever e planear atividades imersivas estruturadamente
Descrever e planear atividades imersivas estruturadamente
 
Semana Interna de Prevenção de Acidentes SIPAT/2024
Semana Interna de Prevenção de Acidentes SIPAT/2024Semana Interna de Prevenção de Acidentes SIPAT/2024
Semana Interna de Prevenção de Acidentes SIPAT/2024
 
Enunciado_da_Avaliacao_1__Sistemas_de_Informacoes_Gerenciais_(IL60106).pdf
Enunciado_da_Avaliacao_1__Sistemas_de_Informacoes_Gerenciais_(IL60106).pdfEnunciado_da_Avaliacao_1__Sistemas_de_Informacoes_Gerenciais_(IL60106).pdf
Enunciado_da_Avaliacao_1__Sistemas_de_Informacoes_Gerenciais_(IL60106).pdf
 
Manual dos Principio básicos do Relacionamento e sexologia humana .pdf
Manual dos Principio básicos do Relacionamento e sexologia humana .pdfManual dos Principio básicos do Relacionamento e sexologia humana .pdf
Manual dos Principio básicos do Relacionamento e sexologia humana .pdf
 
CONCORDÂNCIA NOMINAL atividade ensino médio ead.pptx
CONCORDÂNCIA NOMINAL atividade ensino médio  ead.pptxCONCORDÂNCIA NOMINAL atividade ensino médio  ead.pptx
CONCORDÂNCIA NOMINAL atividade ensino médio ead.pptx
 
análise obra Nós matamos o cão Tinhoso.pdf
análise obra Nós matamos o cão Tinhoso.pdfanálise obra Nós matamos o cão Tinhoso.pdf
análise obra Nós matamos o cão Tinhoso.pdf
 
O que é uma Revolução Solar. tecnica preditiva
O que é uma Revolução Solar. tecnica preditivaO que é uma Revolução Solar. tecnica preditiva
O que é uma Revolução Solar. tecnica preditiva
 
Meu corpo - Ruth Rocha e Anna Flora livro
Meu corpo - Ruth Rocha e Anna Flora livroMeu corpo - Ruth Rocha e Anna Flora livro
Meu corpo - Ruth Rocha e Anna Flora livro
 
As Mil Palavras Mais Usadas No Inglês (Robert de Aquino) (Z-Library).pdf
As Mil Palavras Mais Usadas No Inglês (Robert de Aquino) (Z-Library).pdfAs Mil Palavras Mais Usadas No Inglês (Robert de Aquino) (Z-Library).pdf
As Mil Palavras Mais Usadas No Inglês (Robert de Aquino) (Z-Library).pdf
 
ROTINA DE ESTUDO-APOSTILA ESTUDO ORIENTADO.pdf
ROTINA DE ESTUDO-APOSTILA ESTUDO ORIENTADO.pdfROTINA DE ESTUDO-APOSTILA ESTUDO ORIENTADO.pdf
ROTINA DE ESTUDO-APOSTILA ESTUDO ORIENTADO.pdf
 
MARCHA HUMANA. UM ESTUDO SOBRE AS MARCHAS
MARCHA HUMANA. UM ESTUDO SOBRE AS MARCHASMARCHA HUMANA. UM ESTUDO SOBRE AS MARCHAS
MARCHA HUMANA. UM ESTUDO SOBRE AS MARCHAS
 
Unidade 4 (Texto poético) (Teste sem correção) (2).docx
Unidade 4 (Texto poético) (Teste sem correção) (2).docxUnidade 4 (Texto poético) (Teste sem correção) (2).docx
Unidade 4 (Texto poético) (Teste sem correção) (2).docx
 
Geometria para 6 ano retas angulos .docx
Geometria para 6 ano retas angulos .docxGeometria para 6 ano retas angulos .docx
Geometria para 6 ano retas angulos .docx
 
Livro infantil: A onda da raiva. pdf-crianças
Livro infantil: A onda da raiva. pdf-criançasLivro infantil: A onda da raiva. pdf-crianças
Livro infantil: A onda da raiva. pdf-crianças
 
Alemanha vs União Soviética - Livro de Adolf Hitler
Alemanha vs União Soviética - Livro de Adolf HitlerAlemanha vs União Soviética - Livro de Adolf Hitler
Alemanha vs União Soviética - Livro de Adolf Hitler
 
Apresentação sobre Robots e processos educativos
Apresentação sobre Robots e processos educativosApresentação sobre Robots e processos educativos
Apresentação sobre Robots e processos educativos
 
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
 

métodos ordenação C, bolha, selection sort e insertion sort

  • 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