ESTRUTURA DE ADOS - caetano.eng.br

160
E STRUTURA DE D ADOS Prof. Dr. Daniel Caetano 2012 - 2 ORDENANDO LISTAS

Transcript of ESTRUTURA DE ADOS - caetano.eng.br

Page 1: ESTRUTURA DE ADOS - caetano.eng.br

ESTRUTURA DE DADOS

Prof. Dr. Daniel Caetano

2012 - 2

ORDENANDO LISTAS

Page 2: ESTRUTURA DE ADOS - caetano.eng.br

Objetivos

• Compreender o que são ordenações por seleção e por inserção

• Capacitar para implementar ambos os tipos de ordenação

• GRUPOS? – Até o fim da aula!

Page 3: ESTRUTURA DE ADOS - caetano.eng.br

Material de Estudo

Material Acesso ao Material

Apresentação http://www.caetano.eng.br/ (Aula 4)

Biblioteca Virtual Estruturas de Dados – -?

Page 4: ESTRUTURA DE ADOS - caetano.eng.br

RECORDANDO...

Page 5: ESTRUTURA DE ADOS - caetano.eng.br

Recordando...

• Podemos criar uma lista ordenada

– Inserindo um elemento já em seu lugar

• Podemos ordenar uma lista posteriormente:

– Trocas (bubble sort)

– Seleção

– Inserção

Page 6: ESTRUTURA DE ADOS - caetano.eng.br

ORDENANDO UMA LISTA POR SELEÇÃO

Page 7: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção

• Lista 1: Lista Desordenada

• Lista 2: Vazia: Construir lista ordenada

• Procedimento

– Buscar menor elemento da Lista 1

– Removê-lo e inseri-lo na 1ª posição da Lista 2

– Buscar menor elemento da Lista 1

– Removê-lo e inseri-lo na 2ª posição da Lista 2

Page 8: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Page 9: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: ? PosMenor: ?

Page 10: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 4 PosMenor: 0

Page 11: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 4 PosMenor: 0

Page 12: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 4 PosMenor: 0

Page 13: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 4 PosMenor: 0

Page 14: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 2 PosMenor: 3

Page 15: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 2 PosMenor: 3

Page 16: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 2 PosMenor: 3

Page 17: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 2 PosMenor: 3

Page 18: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 2 PosMenor: 3

Page 19: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 2 PosMenor: 3 Inserida: 0

Page 20: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 2 PosMenor: 3 Inserida: 0

Page 21: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: ? PosMenor: ? Inserida: 0

Page 22: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 4 PosMenor: 0 Inserida: 0

Page 23: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 4 PosMenor: 0 Inserida: 0

Page 24: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 4 PosMenor: 0 Inserida: 0

Page 25: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 4 PosMenor: 0 Inserida: 0

Page 26: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 4 PosMenor: 0 Inserida: 0

Page 27: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 4 PosMenor: 0 Inserida: 0

Page 28: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 4 PosMenor: 0 Inserida: 0

Page 29: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 4 PosMenor: 0 Inserida: 1

Page 30: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: ? PosMenor: ? Inserida: 1

Page 31: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 9 PosMenor: 0 Inserida: 1

Page 32: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 9 PosMenor: 0 Inserida: 1

Page 33: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 7 PosMenor: 1 Inserida: 1

Page 34: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 7 PosMenor: 1 Inserida: 1

Page 35: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 7 PosMenor: 1 Inserida: 1

Page 36: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 7 PosMenor: 1 Inserida: 1

Page 37: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 7 PosMenor: 1 Inserida: 1

Page 38: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: ? PosMenor: ? Inserida: 2

Page 39: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: ? PosMenor: ? Inserida: 2

Page 40: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 9 PosMenor: 0 Inserida: 2

Page 41: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 9 PosMenor: 0 Inserida: 2

Page 42: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 9 PosMenor: 0 Inserida: 2

Page 43: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 9 PosMenor: 0 Inserida: 2

Page 44: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: ? PosMenor: ? Inserida: 3

Page 45: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: ? PosMenor: ? Inserida: 3

Page 46: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 10 PosMenor: 0 Inserida: 3

Page 47: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 10 PosMenor: 0 Inserida: 3

Page 48: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 10 PosMenor: 0 Inserida: 3

Page 49: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Menor: 10 PosMenor: 0 Inserida: 3

FIM!

Page 50: ESTRUTURA DE ADOS - caetano.eng.br

ORDENAÇÃO POR SELEÇÃO OTIMIZADA

Page 51: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção

• Será que precisamos de duas listas?

• Procedimento

– Buscar menor da Lista a partir da pos “0”

– Trocar com o da pos “0”

– Buscar menor da Lista a partir da pos “1”

– Trocar com o da pos “1”

– ...

Page 52: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 0 Menor: ? PosMenor: ?

Page 53: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 0 Menor: ? PosMenor: ?

Page 54: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 0 Menor: 4 PosMenor: 0

Page 55: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 0 Menor: 4 PosMenor: 0

Page 56: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 0 Menor: 4 PosMenor: 0

Page 57: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 0 Menor: 4 PosMenor: 0

Page 58: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 0 Menor: 2 PosMenor: 3

Page 59: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 0 Menor: 2 PosMenor: 3

Page 60: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 0 Menor: 2 PosMenor: 3

Page 61: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 0 Menor: 2 PosMenor: 3

Page 62: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 0 Menor: 2 PosMenor: 3

Page 63: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 1 Menor: ? PosMenor: ?

Page 64: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 1 Menor: ? PosMenor: ?

Page 65: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 1 Menor: 9 PosMenor: 1

Page 66: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 1 Menor: 9 PosMenor: 1

Page 67: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 1 Menor: 7 PosMenor: 2

Page 68: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 1 Menor: 7 PosMenor: 2

Page 69: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 1 Menor: 4 PosMenor: 3

Page 70: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 1 Menor: 4 PosMenor: 3

Page 71: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 1 Menor: 4 PosMenor: 3

Page 72: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 1 Menor: 4 PosMenor: 3

Page 73: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 1 Menor: 4 PosMenor: 3

Page 74: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 2 Menor: ? PosMenor: ?

Page 75: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 2 Menor: ? PosMenor: ?

Page 76: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 2 Menor: 7 PosMenor: 2

Page 77: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 2 Menor: 7 PosMenor: 2

Page 78: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 2 Menor: 7 PosMenor: 2

Page 79: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 2 Menor: 7 PosMenor: 2

Page 80: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 3 Menor: ? PosMenor: ?

Page 81: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 3 Menor: 9 PosMenor: 3

Page 82: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 3 Menor: 9 PosMenor: 3

Page 83: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 3 Menor: 9 PosMenor: 3

Page 84: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 4 Menor: ? PosMenor: ?

Page 85: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 4 Menor: 10 PosMenor: 4

Page 86: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção - Exemplo

Inicial: 4 Menor: 10 PosMenor: 4 FIM!

É mais rápido e gasta menos memória!

Page 87: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção • Implementando...

– Lista com n elementos

• Algoritmo 1. i=0

2. Busca menor a partir de i; anotar a pos. menor

3. Trocar elemento da pos. i com o da pos. menor

4. i = i + 1

5. Volta para o passo 2 se i < n

• Pegue o código base da aula – selecao.cpp

Page 88: ESTRUTURA DE ADOS - caetano.eng.br

ORDENANDO UMA LISTA POR INSERÇÃO

Page 89: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção

• Lista 1: Lista Desordenada

• Lista 2: Vazia: Construir lista ordenada

• Procedimento

– Pegar 1º elemento da Lista 1

– Inseri-lo em sua correta posição na Lista 2

– Pegar 2º elemento da Lista 1

– Inseri-lo em sua correta posição na Lista 2

– ...

Page 90: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: ?

Page 91: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 0

Page 92: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 0

Page 93: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 0

Page 94: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 1

Page 95: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 1

Page 96: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 1

4 < 9?

Page 97: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 1

SIM!

Page 98: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 1

Page 99: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 2

Page 100: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 2

9 < 7?

Page 101: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 2

NÃO

Page 102: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 2

4 < 7?

Page 103: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 2

SIM!

Page 104: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 2

Page 105: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 3

Page 106: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 3

9 < 2?

Page 107: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 3

NÃO!

Page 108: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 3

7 < 2?

Page 109: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 3

NÃO!

Page 110: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 3

4 < 2?

Page 111: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 3

NÃO!

Page 112: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 3

Page 113: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 3

Page 114: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 4

Page 115: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 4

9 < 10?

Page 116: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 4

SIM!

Page 117: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Atual: 4

FIM!

Page 118: ESTRUTURA DE ADOS - caetano.eng.br

ORDENAÇÃO POR INSERÇÃO OTIMIZADA

Page 119: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção

• Será que precisamos de duas listas?

• Procedimento

– Pega elemento da pos “1”

– Trocá-lo um a um com os anteriores até que ele seja maior que seu antecessor imediato

– Pega elemento da pos “2”

– Trocá-lo um a um com os anteriores até que ele seja maior que seu antecessor imediato

– ...

Page 120: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: ? Atual: ?

Page 121: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 1 Atual: ?

Page 122: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 1 Atual: 0 9 < 4?

Page 123: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 1 Atual: 0 NÃO!

Page 124: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 2 Atual: ?

Page 125: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 2 Atual: 1 7 < 9?

Page 126: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 2 Atual: 1 SIM!

Page 127: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 2 Atual: 1

Page 128: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 2 Atual: 1

Page 129: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 2 Atual: 0

Page 130: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 2 Atual: 0 7 < 4?

Page 131: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 2 Atual: 0 NÃO!

Page 132: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 3 Atual: ?

Page 133: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 3 Atual: 2

Page 134: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 3 Atual: 2 2 < 9?

Page 135: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 3 Atual: 2 SIM!

Page 136: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 3 Atual: 2

Page 137: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 3 Atual: 2

Page 138: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 3 Atual: 1

Page 139: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 3 Atual: 1 2 < 7?

Page 140: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 3 Atual: 1 SIM!

Page 141: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 3 Atual: 1

Page 142: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 3 Atual: 1

Page 143: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 3 Atual: 0

Page 144: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 3 Atual: 0 2 < 4?

Page 145: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 3 Atual: 0 SIM!

Page 146: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 3 Atual: 0

Page 147: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 3 Atual: 0

Page 148: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 3 Atual: 0

Page 149: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 4 Atual: ?

Page 150: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 4 Atual: 3 10 < 9?

Page 151: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Inserção - Exemplo

Inicial: 4 Atual: 3 FIM!

É mais rápido e gasta menos memória!

Page 152: ESTRUTURA DE ADOS - caetano.eng.br

Ordenação por Seleção • Implementando...

– Lista com n elementos

• Algoritmo 1. i=1

2. j = i – 1

3. Se valor da pos j < valor da pos j+1 • j = j – 1

• Se j >= 0, volta para 3

4. i = i + 1 • Se i <= n, volta para 2

• Pegue o código base da aula – insercao.cpp

Page 153: ESTRUTURA DE ADOS - caetano.eng.br

EXERCÍCIO DE FIXAÇÃO

Page 154: ESTRUTURA DE ADOS - caetano.eng.br

Exercício • Em um programa, crie uma lista de elementos

não ordenados com 50 valores pares

• Faça um menu que permita: – 1) Ordenar com Bubble Sort (código na aula passada!)

– 2) Ordenar por Seleção

– 3) Ordenar por Inserção

• Depois de ordenada pelo método escolhido pelo usuário, a lista deve ser impressa.

• Dica: use como base os programas construídos na aula de hoje!

Page 155: ESTRUTURA DE ADOS - caetano.eng.br

ENTREGA DOS GRUPOS DE TRABALHO

Page 156: ESTRUTURA DE ADOS - caetano.eng.br

CONCLUSÕES

Page 157: ESTRUTURA DE ADOS - caetano.eng.br

Resumo

• Existem diferentes métodos de ordenação

• Dependendo da implementação, pode-se usar mais ou menos memória

• Cada método tem uma eficiência diferente!

• TAREFA

– Estudar!

Page 158: ESTRUTURA DE ADOS - caetano.eng.br

Próxima Aula

• Lista é a única estrutura?

–Não!

• Vamos ver a Pilha!

Page 159: ESTRUTURA DE ADOS - caetano.eng.br

PERGUNTAS?

Page 160: ESTRUTURA DE ADOS - caetano.eng.br

BOM DESCANSO A TODOS!