Questão nº 26
Questão de Análise de Sistemas · FGV TJDFT 2022 (nº 26)
Júlio está desenvolvendo uma aplicação e precisa implementar um mecanismo de desfazer/refazer de um editor de texto utilizando o algoritmo LIFO (Last In, First Out).
Para implementar o algoritmo LIFO, Júlio deve usar a estrutura de dados:
- Afila;
- Bpilha; (alternativa correta)
- Cárvore;
- Dnó folha;
- Etabela hash.
Resposta comentada
Gabarito Alternativa B
Pilha é uma estrutura de dados onde o último elemento a entrar é o primeiro a sair (LIFO). Pense numa pilha de pratos: você só consegue pegar o prato do topo, que foi o último colocado. Para desfazer/refazer ações, cada ação nova é "empilhada" e o desfazer remove a ação do topo, exatamente como o LIFO exige.
- (A) Incorreta: Fila usa FIFO (First In, First Out), ou seja, o primeiro a entrar é o primeiro a sair. Isso seria útil para uma fila de impressão, não para desfazer/refazer, onde a ação mais recente deve ser a primeira a ser desfeita.
- (B) Correta: A pilha é a estrutura LIFO perfeita para o mecanismo desfazer/refazer. Cada ação é empilhada no topo; ao desfazer, removemos o topo (última ação). Refazer reempilha a ação removida. É o uso clássico de pilha.
- (C) Incorreta: Árvore é uma estrutura hierárquica com nós e ramificações, usada para representar dados organizados em níveis (ex: diretórios). Não tem relação com a ordem de entrada/saída de ações.
- (D) Incorreta: Nó folha é um termo de árvores (um nó sem filhos). Não é uma estrutura de dados, apenas um elemento, e não possui comportamento de empilhar/desempilhar.
- (E) Incorreta: Tabela hash usa uma função para mapear chaves a valores, permitindo busca rápida. Não mantém ordem de inserção para remoção sequencial, então não atende ao LIFO.
Armadilha da banca: A pegadinha está na alternativa (A) fila. Muitos alunos confundem "desfazer" com "fila" por pensarem em "ordem de chegada", mas o desfazer exige a última ação, não a primeira. A fila removeria a ação mais antiga, o que quebraria a lógica do editor. A banca testa se você sabe diferenciar LIFO (pilha) de FIFO (fila).
Fonte: FGV TJDFT 2022 Analista Judiciário - Análise de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.