Sobre o conceito de Filas, responda:
3. Compare conceitualmente as operações de enfileirar (enqueue) e desenfileirar (dequeue) com push/pop de pilhas.
3. Compare conceitualmente as operações de enfileirar (enqueue) e desenfileirar (dequeue) com push/pop de pilhas.
Passo 1
O enunciado pede para compararmos, de forma conceitual, as operações de fila —
(enfileirar) e
(desenfileirar) — com as operações de pilha —
e
. O conteúdo aqui é estrutura de dados lineares e as políticas de acesso FIFO vs LIFO.
Passo 2
Uma fila é uma estrutura em que o primeiro elemento que entra é sempre o primeiro a sair (FIFO – First In, First Out).
– insere um novo elemento no final (traseira) da fila.
– remove o elemento que está no início (frente) da fila.
–
–
Passo 3
Uma pilha é uma estrutura em que o último elemento que entra é sempre o primeiro a sair (LIFO – Last In, First Out).
– adiciona um novo elemento no topo da pilha.
– remove o elemento que está justamente no topo.
–
–
Passo 4
Conceitualmente as diferenças principais são:
- Ordem de retirada
Fila: quem entrou primeiro sai primeiro ( retira da frente).
Pilha: quem entrou por último sai primeiro ( retira do topo). - Extremidades envolvidas
Fila: inserção e remoção em extremidades opostas (traseira para inserir, frente para remover).
Pilha: inserção e remoção na mesma extremidade (o topo). - Complexidade
Ambas as operações costumam ter custo quando implementadas com ponteiros ou índices adequados. - Uso típico
Filas: buffers, tarefas em processamento ordenado, largura em grafos.
Pilhas: chamadas recursivas, desfazer/refazer, profundidade em grafos.
Resposta
A operação de fila usa política FIFO, inserindo no final com
e removendo da frente com
; já a pilha usa política LIFO, inserindo e removendo sempre do topo com
e
.