estrutura de ados - caetanode alunos •em grupos de 4 alunos, debata as vantagens e desvantagens do...
TRANSCRIPT
![Page 1: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/1.jpg)
ESTRUTURA DE DADOS
Prof. Dr. Daniel Caetano
2012 - 2
FILAS DINÂMICAS
![Page 2: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/2.jpg)
Objetivos
• Compreender o conceito de fila encadeada
• Usar filas dinâmicas para aplicações
• Conhecer as vantagens e desvantagens das filas encadeadas
• Atividade Estruturada!
![Page 3: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/3.jpg)
Material de Estudo
Material Acesso ao Material
Apresentação http://www.caetano.eng.br/ (Aula 12)
Material Didático Estruturas de Dados (Parte 2) – Páginas 143 a 146
Online C Completo e Total – Páginas 540 a 550
![Page 4: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/4.jpg)
RECORDANDO...
![Page 5: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/5.jpg)
Recordando...
• Vimos Pilhas Encadeadas
• Uso:
– Inserção no Topo (Início)
– Remoção do Topo (Início)
• E se continuarmos removendo do início, mas inserirmos no fim?
• Virou uma fila?
![Page 6: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/6.jpg)
FILA ENCADEADA OU FILA DINÂMICA
![Page 7: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/7.jpg)
Filas Encadeadas
• Sempre que usarmos uma lista encadeada
– Inserirmos no fim... e
– Removermos do início...
• Fila Dinâmica ou Encadeada
• Exemplo
![Page 8: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/8.jpg)
Fila: Inicializando NULL
no *fila = NULL;
Quando criamos uma fila, ela está vazia
fila
![Page 9: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/9.jpg)
Fila: Inserção
1
NULL
NULL
no *tmp; tmp = new no; tmp->valor = 1; tmp->prox = NULL
Como criamos um elemento?
fila
tmp
![Page 10: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/10.jpg)
Fila: Inserção
1
NULL
NULL
if (fila == NULL) { fila = tmp; }
Como inseri-lo na fila? fila
tmp
![Page 11: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/11.jpg)
Fila: Inserção
1
NULL
NULL
if (fila == NULL) { fila = tmp; }
Como inseri-lo na fila? fila
tmp
![Page 12: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/12.jpg)
Fila: Inserção
1
NULL
NULL
if (fila == NULL) { fila = tmp; }
Como inseri-lo na fila? fila
tmp
![Page 13: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/13.jpg)
Fila: Inserção
1
NULL
if (fila == NULL) { fila = tmp; }
Como inseri-lo na fila? fila
tmp
![Page 14: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/14.jpg)
Fila: Inserção
1
NULL
if (fila != NULL) { fim = fila; while (fim->prox != NULL) { fim = fim->prox; }
fim->prox = tmp; }
Inserindo outro nó fila
2
NULL tmp
![Page 15: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/15.jpg)
Fila: Inserção
1
NULL
if (fila != NULL) { fim = fila; while (fim->prox != NULL) { fim = fim->prox; }
fim->prox = tmp; }
Inserindo outro nó fila
2
NULL tmp
![Page 16: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/16.jpg)
Fila: Inserção
1
NULL
if (fila != NULL) { fim = fila; while (fim->prox != NULL) { fim = fim->prox; }
fim->prox = tmp; }
Inserindo outro nó fila
2
NULL tmp
![Page 17: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/17.jpg)
Fila: Inserção
1
NULL
if (fila != NULL) { fim = fila; while (fim->prox != NULL) { fim = fim->prox; }
fim->prox = tmp; }
Inserindo outro nó fila
2
NULL tmp
fim
![Page 18: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/18.jpg)
Fila: Inserção
1
NULL
if (fila != NULL) { fim = fila; while (fim->prox != NULL) { fim = fim->prox; }
fim->prox = tmp; }
Inserindo outro nó fila
2
NULL tmp
fim
![Page 19: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/19.jpg)
Fila: Inserção
1
NULL
if (fila != NULL) { fim = fila; while (fim->prox != NULL) { fim = fim->prox; }
fim->prox = tmp; }
Inserindo outro nó fila
2
NULL tmp
fim
![Page 20: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/20.jpg)
Fila: Inserção
1 if (fila != NULL) { fim = fila; while (fim->prox != NULL) { fim = fim->prox; }
fim->prox = tmp; }
Inserindo outro nó fila
2
NULL tmp
fim
![Page 21: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/21.jpg)
Fila: Remoção
2
NULL
no *tmp; tmp = fila; fila = tmp->prox; valor = tmp->valor; delete tmp;
Removendo um nó fila
1
![Page 22: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/22.jpg)
Fila: Remoção
2
NULL
no *tmp; tmp = fila; fila = tmp->prox; valor = tmp->valor; delete tmp;
Removendo um nó fila
1
![Page 23: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/23.jpg)
Fila: Remoção
2
NULL
no *tmp; tmp = fila; fila = tmp->prox; valor = tmp->valor; delete tmp;
Removendo um nó fila
tmp 1
![Page 24: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/24.jpg)
Fila: Remoção
2
NULL
no *tmp; tmp = fila; fila = tmp->prox; valor = tmp->valor; delete tmp;
Removendo um nó fila
tmp 1
![Page 25: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/25.jpg)
Fila: Remoção
2
NULL
no *tmp; tmp = fila; fila = tmp->prox; valor = tmp->valor; delete tmp;
Removendo um nó fila
tmp 1
![Page 26: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/26.jpg)
Fila: Remoção
2
NULL
no *tmp; tmp = fila; fila = tmp->prox; valor = tmp->valor; delete tmp;
Removendo um nó fila
tmp 1
![Page 27: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/27.jpg)
Fila: Remoção
2
NULL
no *tmp; tmp = fila; fila = tmp->prox; valor = tmp->valor; delete tmp;
Removendo um nó fila
tmp 1
![Page 28: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/28.jpg)
Fila: Remoção
2
NULL
no *tmp; tmp = fila; fila = tmp->prox; valor = tmp->valor; delete tmp;
Removendo um nó fila
tmp 1
![Page 29: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/29.jpg)
Fila: Remoção
2
NULL
no *tmp; tmp = fila; fila = tmp->prox; valor = tmp->valor; delete tmp;
Removendo um nó fila
tmp 1 1
![Page 30: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/30.jpg)
Fila: Remoção
2
NULL
no *tmp; tmp = fila; fila = tmp->prox; valor = tmp->valor; delete tmp;
Removendo um nó fila
tmp 1
![Page 31: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/31.jpg)
Fila: Remoção
2
NULL
no *tmp; tmp = fila; fila = tmp->prox; valor = tmp->valor; delete tmp;
Removendo um nó fila
tmp
![Page 32: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/32.jpg)
DISCUSSÃO: QUALIDADE DA IMPLEMENTAÇÃO
![Page 33: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/33.jpg)
Qualidade da Implementação • Qual o problema dessa implementação?
– Pense na inserção e remoção...
– Há como melhorar?
![Page 34: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/34.jpg)
PRÁTICA:
CONSTRUINDO UMA FILA ENCADEADA
![Page 35: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/35.jpg)
Construindo uma Pilha Encadeada • Acompanhe o professor na construção...
![Page 36: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/36.jpg)
EXERCÍCIOS DE FIXAÇÃO
![Page 37: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/37.jpg)
Exercícios • Como base em “ex1.cpp” e “filaaluno.cpp”:
– Modifique ex1.cpp para que implemente uma fila de alunos
• Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento;
– Elabore uma lista de vantagens e desvantagens comparando as estruturas de dados contíguas com suas versões encadeadas: pilhas, filas e listas
![Page 38: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/38.jpg)
Vantagens e Desvantagens Vantagens Desvantagens
Encadeados Em geral
Pilhas Encadeadas
Filas Encadeadas
Listas Encadeadas
![Page 39: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/39.jpg)
Vantagens e Desvantagens Vantagens Desvantagens
Encadeados Em geral
- Menor consumo de memória - Menor processamento em tarefas complexas - Tamanho máximo limitado pela memória do equipamento - Protótipos mais simples
- Maior complexidade de programação - Uso de ponteiros - Maior processamento em tarefas simples - Consumo de processamento para alocação de memória
Pilhas Encadeadas
- Apenas um apontador
Filas Encadeadas
- Não exige implementação circular - Apenas dois apontadores
- Se não for usado apontador de fim, custo para inserção cresce com o tamanho da fila
Listas Encadeadas
- Inserção ordenada e ordenação mais eficientes - Apenas um apontador
- Acesso aleatório prejudicado (busca)
![Page 40: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/40.jpg)
CONCLUSÕES
![Page 41: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/41.jpg)
Resumo
• As listas encadeadas podem ser usadas como filas
• É mais interessante criar uma estrutura específica, com referências para início e fim
• Adaptar programas que usam filas contíguas para usar filas encadeadas é simples
• TAREFA – Atividade Estruturada!
![Page 42: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/42.jpg)
Próxima Aula
![Page 43: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/43.jpg)
PERGUNTAS?
![Page 44: ESTRUTURA DE ADOS - Caetanode alunos •Em grupos de 4 alunos, debata as vantagens e desvantagens do uso de encadeamento; –Elabore uma lista de vantagens e desvantagens comparando](https://reader034.vdocuments.pub/reader034/viewer/2022042417/5f33b594c3d6da3e6704db09/html5/thumbnails/44.jpg)
BOM DESCANSO A TODOS!