Há três pilhas P, Q e R, inicialmente vazias, nas quais é p...
Qual é a sequência de empilhamento e desempilhamento que finaliza com a sequência 2, 3, 1 (1 fica no topo) na pilha R, com um mínimo de movimentos?
Dado
Exemplo de notação:
DP: significa desempilhar da pilha P
E2Q: significa empilhar 2 na pilha Q
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Vamos analisar a questão proposta. A alternativa correta é a alternativa A.
Para resolver essa questão, precisamos entender o funcionamento das pilhas e a sequência de operações de empilhamento e desempilhamento que nos permite obter a ordem final desejada (2, 3, 1) na pilha R. Uma pilha é uma estrutura de dados do tipo LIFO (Last In, First Out), o que significa que o último elemento a ser empilhado é o primeiro a ser desempilhado.
Análise da alternativa A:
A sequência de operações na alternativa A é: DP – E3Q – DP – E2R – DQ – E3R – DP – E1R.
Vamos detalhar essa sequência:
- DP: Desempilha 3 da pilha P (restam 1 e 2 em P).
- E3Q: Empilha 3 na pilha Q.
- DP: Desempilha 2 da pilha P (resta 1 em P).
- E2R: Empilha 2 na pilha R.
- DQ: Desempilha 3 da pilha Q.
- E3R: Empilha 3 na pilha R (agora R tem 2 e 3).
- DP: Desempilha 1 da pilha P (P fica vazia).
- E1R: Empilha 1 na pilha R (R fica com 2, 3, 1).
Portanto, essa sequência resulta na ordem correta (2, 3, 1) na pilha R.
Análise das alternativas incorretas:
Alternativa B: A sequência é DP – E3R – DP – E2R – DP – E1R.
Aqui, todos os elementos são empilhados diretamente na pilha R, resultando na ordem 3, 2, 1 (1 no topo), o que não está correto.
Alternativa C: A sequência é DP – E3Q – DP – E2Q – DQ – DP – E1R.
Neste caso, ao final da operação, a pilha R conteria apenas o elemento 1, porque 3 e 2 foram empilhados e desempilhados na pilha Q, e não foram corretamente reorganizados para a pilha R.
Alternativa D: A sequência é DP – E3Q – DP – E2R – DP – E1R – DQ – E3R.
A ordem final resultante seria 1, 2, 3 na pilha R, pois 3 é desempilhado e empilhado por último, não atendendo ao enunciado.
Alternativa E: A sequência é DP – E3R – DP – E2Q – DQ – E2R – DP – E1R.
Essa sequência também não resulta na ordem correta na pilha R. O elemento 2 é empilhado e desempilhado na pilha Q, mas não resulta em 2, 3, 1 na pilha R.
Conclusão: A alternativa A é a única que, seguindo a sequência de operações de empilhamento e desempilhamento, resulta na ordem correta (2, 3, 1) na pilha R, com um mínimo de movimentos.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Gab: A
Pilhas: P Q R
3 DP E1R
2 DP E3E
1 DP E3Q DQ E2R
=)
Uma pilha é uma estrutura de dados que admite remoção de elementos e inserção de novos objetos. Mais especificamente, uma pilha (= stack) é uma estrutura sujeita à seguinte regra de operação: sempre que houver uma remoção, o elemento removido é o que está na estrutura há menos tempo. Em outras palavras, o primeiro objeto a ser inserido na pilha é o último a ser removido. Essa política é conhecida pela sigla LIFO (= Last-In-First-Out).
https://www.ime.usp.br/~pf/algoritmos/aulas/pilha.html
Força Guerreiro!!!!!!
Como não em comando de obter valor de uma pilha (pop) e armazenar em uma variável para ser usado em outra (push), você pode desconsiderar as operações em filas diferentes da fila de destino, o que simplifica muito o problema.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo