Lista 06 - Filas
Essa lista tem como objetivo fixar os conceitos de fila, bem como a implementação de suas operações básicas.
Exercício 01
Seção intitulada “Exercício 01”Implementar em linguagem Python o pseudocódigo do algoritmo Fila visto em sala de aula, com capacidade igual à quantidade de caracteres que compõem o seu primeiro nome. Faça também:
- Teste o método
esta_vazia()através do métododesenfileirar(); - Demonstre o enfileiramento de cada um dos caracteres que compõem o seu primeiro nome;
- Teste o método
esta_cheia()através do métodoenfileirar(valor); - Após executar as operações anteriores, demonstre qual elemento está na frente da fila;
- Execute o método
desenfileirar()por três vezes e verifique qual elemento está na frente da fila.
Exercício 02
Seção intitulada “Exercício 02”Considere uma fila circular com capacidade igual a 5 elementos contendo em seu interior a sequência S, A. Responda:
-
Insira a sequência
T, Cna fila e demonstre esse procedimento através do preenchimento da tabela abaixo:fim elementos - - - - -
Qual o valor do atributo
fimapós a inserção da sequência descrita no item 1? -
Se você fosse
desenfileirar()um elemento da fila, qual seria esse elemento? -
Desenfileirar dois elementos da fila e demonstrar esse procedimento através do preenchimento da tabela abaixo:
inicio elementos - - - - -
Considerando a fila resultante do item 4, insira um novo elemento e demonstre o comportamento circular da fila (quando o atributo
fimretorna à posição0).
Exercício 03
Seção intitulada “Exercício 03”- O problema de inserir (
enfileirar) elementos em uma fila envolve? - O problema de retirar (
desenfileirar) elementos em uma fila envolve? - Qual critério é utilizado para saber se uma fila está vazia?
- Qual critério é utilizado para saber se uma fila está cheia?
- Qual é o valor dos atributos
inicio,fimequantidadequando a fila está vazia? - Qual é o valor dos atributos
inicio,fimequantidadequando a fila contém apenas um elemento? - Qual é o valor dos atributos
inicio,fimequantidadequando a fila está cheia?
Exercício 04
Seção intitulada “Exercício 04”Durante as aulas, usamos as nomenclaturas em português para nos referirmos aos métodos da Fila. No entanto, na literatura, é comum encontrar os nomes em inglês. Preencha a tabela abaixo com os nomes em inglês correspondentes aos nomes em português:
| Nome em Português | Nome comum usado em Inglês |
|---|---|
Fila |
|
enfileirar |
|
desenfileirar |
|
esta_vazia |
|
esta_cheia |
|
frente |
|
capacidade |
Exercício 05
Seção intitulada “Exercício 05”Utilizando a classe Fila implementada no Exercício 01, resolva os desafios abaixo:
-
Ordem de Atendimento: receba uma sequência de clientes e utilize a Fila para atendê-los na ordem de chegada;
- Entrada:
Ana, Bruno, Carla, Diego→ Saída:Atendendo: Ana,Atendendo: Bruno,Atendendo: Carla,Atendendo: Diego
- Entrada:
-
Inversão de Fila: receba uma sequência de elementos e utilize uma Pilha auxiliar para exibir a fila invertida;
- Entrada:
1, 2, 3, 4, 5→ Saída:5, 4, 3, 2, 1
- Entrada:
-
Intercalação de Filas: receba duas filas e utilize uma terceira Fila para intercalar seus elementos alternadamente (se uma fila terminar antes, os elementos restantes da outra vão ao final);
- Entrada:
Fila 1: 1, 3, 5eFila 2: 2, 4, 6→ Saída:1, 2, 3, 4, 5, 6 - Entrada:
Fila 1: 1, 3eFila 2: 2, 4, 6→ Saída:1, 2, 3, 4, 6
- Entrada: