Buscar

AULA_4_Selecao_Insercao

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 60 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 60 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 60 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aula 4 
Algoritmo e Estrutura de Dados II 
COM-112 
Vanessa Souza 
Universidade Federal de Itajubá – Instituto de Matemática e Computação 
Classificação dos Métodos de Ordenação 
Ordenação 
Interna 
BubleSort 
Seleção 
Inserção 
MergeSort 
Quicksort 
Externa Intercalação 
Bolha 
comparação 
movimentação 
Bolha 
comparação 
movimentação 
Calcular a complexidade 
assintótica do bolha 
Bolha 
Bolha 
Esse bolha pode ficar 
mais inteligente... 
Bolha 
Bolha 
Bolha 
Calcular a complexidade 
assintótica do bolha 
inteligente 
Bolha 
Calcular a complexidade 
assintótica do bolha 
inteligente 
)( 2n
Bolha 
 Uma das principais vantagens do algoritmo 
BubbleSort é sua simplicidade. 
 
 O algoritmo tem complexidade assintótica O(n2) e 
funciona muito bem em vetores quase ordenados. 
 
 BubbleSort x BubbleSortInteligente 
Classificação dos Métodos de Ordenação 
Ordenação 
Interna 
BubleSort 
Seleção 
Inserção 
MergeSort 
Quicksort 
Externa Intercalação 
Ordenação por Seleção 
 Ideia 
 Este algoritmo usa um marcador para dividir as partes 
ordenada (à esquerda) e desordenada (à direita) do vetor. 
 Procura-se na parte desordenada pelo menor elemento e 
troca-se esse elemento com o elemento sob o marcador. 
 Em seguida, avança-se o marcador. O processo se repete até 
que exista apenas um elemento a partir do marcador. 
Ordenação por Seleção 
5 3 1 2 4 
Desordenado Ordenado 
Ordenação por Seleção 
5 3 1 2 4 
Desordenado Ordenado 
Procura pelo menor elemento 
Ordenação por Seleção 
1 3 5 2 4 
Desordenado Ordenado 
Troca com a posição do marcador 
Ordenação por Seleção 
1 3 5 2 4 
Desordenado Ordenado 
Anda com o marcador 
Ordenação por Seleção 
1 3 5 2 4 
Desordenado Ordenado 
Repete o processo 
Ordenação por Seleção 
1 2 5 3 4 
Desordenado Ordenado 
Repete o processo 
Ordenação por Seleção 
1 2 5 3 4 
Desordenado Ordenado 
Repete o processo 
Ordenação por Seleção 
1 2 5 3 4 
Desordenado Ordenado 
Repete o processo 
Ordenação por Seleção 
1 2 3 5 4 
Desordenado Ordenado 
Repete o processo 
Ordenação por Seleção 
1 2 3 5 4 
Desordenado Ordenado 
Repete o processo 
Ordenação por Seleção 
1 2 3 5 4 
Desordenado Ordenado 
Repete o processo 
Ordenação por Seleção 
1 2 3 4 5 
Desordenado Ordenado 
Repete o processo 
Ordenação por Seleção 
1 2 3 4 5 
Ordenado 
Ordenação por Seleção 
 Exercício 
 Ordenar por seleção o seguinte vetor 
5 4 3 2 1 
Desordenado Ordenado 
Ordenação por Seleção 
 Exercício 
 Ordenar por seleção o seguinte vetor 
1 2 3 4 5 
Desordenado Ordenado 
Ordenação por Seleção 
 Vamos programar?? 
 
 Ordenar por Seleção 
 
 Encontrar o Menor 
Ordenação por Seleção 
Ordenação por Seleção 
Menor é a posição do vetor que contém o menor elemento 
Ordenação por Seleção 
)( 2n
Ordenação por Seleção 
Uma prática 
comum é 
implementar uma 
função troca 
Classificação dos Métodos de Ordenação 
Ordenação 
Interna 
BubleSort 
Seleção 
Inserção 
MergeSort 
Quicksort 
Externa Intercalação 
Ordenação por Inserção 
InsertionSort 
 Ideia: Também usa marcador mas, inicialmente, 
marcador = 1. Seja x o primeiro elemento da parte 
desordenada. Troca-se x de posição com os 
elementos que aparecem à esquerda até que x esteja 
em sua posição correta, e avança-se o marcador. 
 O processo se repete até que a parte desordenada do vetor 
esteja vazia. 
 Insere vet[marcador] na posição correta da parte ordenada 
do vetor 
InsertionSort 
5 3 1 2 4 
Desordenado Ordenado 
Procura na parte ordenada do vetor, o local correto de 3 
InsertionSort 
5 3 1 2 4 
Desordenado Ordenado 
Procura na parte ordenada do vetor, o local correto de 3 
InsertionSort 
3 5 1 2 4 
Desordenado Ordenado 
Insere o 3 no lugar do 5 
Anda com o marcador 
InsertionSort 
3 5 1 2 4 
Desordenado Ordenado 
Procura na parte ordenada do vetor, o local correto de 1 
InsertionSort 
3 5 1 2 4 
Desordenado Ordenado 
Local correto de 1 : posição 0 
InsertionSort 
1 3 5 2 4 
Desordenado Ordenado 
Insere o 1 no seu local correto, movimentando as demais posições 
InsertionSort 
1 3 5 2 4 
Desordenado Ordenado 
Repete o processo 
InsertionSort 
1 3 5 2 4 
Desordenado Ordenado 
Repete o processo 
InsertionSort 
1 2 3 5 4 
Desordenado Ordenado 
Repete o processo 
InsertionSort 
1 2 3 5 4 
Desordenado Ordenado 
Repete o processo 
InsertionSort 
1 2 3 5 4 
Desordenado Ordenado 
Repete o processo 
InsertionSort 
1 2 3 4 5 
Desordenado Ordenado 
Repete o processo 
InsertionSort 
1 2 3 4 5 
Ordenado 
Vetor ordenado 
InsertionSort 
 Na implementação... 
1 3 5 2 4 
Desordenado Ordenado 
2 
InsertionSort 
 Na implementação... 
1 3 5 5 4 
Desordenado Ordenado 
2 
InsertionSort 
 Na implementação... 
1 3 3 5 4 
Desordenado Ordenado 
2 
InsertionSort 
 Na implementação... 
1 3 3 5 4 
Desordenado Ordenado 
2 
InsertionSort 
 Na implementação... 
1 2 3 5 4 
Desordenado Ordenado 
2 
InsertionSort 
 Vamos programar? 
InsertionSort 
)( 2n
Exercício 
 Em dupla, demonstre passo a passo a ordenação do 
vetor X pelos métodos da Bolha Inteligente, Seleção e 
da Inserção. 
 Indique o número de comparações e movimentações 
efetuadas. 
X = [6, 21, 17, 32, 14] 
 
 Tempo : 15 minutos 
 
Comparação entre os métodos 
 Os algoritmos vistos até agora são muito citados por 
sua simplicidade. 
 
 Todos possuem complexidade assintótica do pior 
caso de O(n2). 
 
 Costumam ser bons para arquivos pequenos e já 
quase ordenados. 
Comparação entre os métodos 
 Existe uma outra gama de algoritmos de ordenação 
mais eficientes (O(log2n)). 
 mergeSort 
 quickSort 
 
 Esses algoritmos baseiam-se na estratégia de DIVIDIR 
PARA CONQUISTAR 
 
 Implementações mais difíceis – estritamente 
recursivos 
Para Casa 
 
 Estudar e implementar o algoritmo de Seleção

Outros materiais