Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — FUNDATEC 2025
- Código
- qg472061
- Banca
- FUNDATEC
- Órgão
- GHC-RS
- Ano
- 2025
- Nível
- Médio
- Cargo
- Programador
- AÁrvore.
- BDeque.
- CFila.
- DLista.
- EPilha.
GabaritoE — Pilha.
Gabarito: letra E. A operação "desfazer" (undo) em editores de texto utiliza o conceito de pilha (stack), pois segue o princípio LIFO (Last In, First Out): a última ação realizada é a primeira a ser desfeita. As demais alternativas (árvore, deque, fila, lista) não se aplicam a essa lógica.
Árvores são estruturas hierárquicas usadas para representar dados com relações de parentesco (ex.: árvore de diretórios), não para sequências lineares de ações que precisam ser desfeitas na ordem inversa.
Deque (double-ended queue) permite inserção e remoção em ambas as extremidades. Embora possa ser usado para simular pilha, não é a estrutura clássica nem a mais direta para undo, que exige acesso apenas ao topo.
Fila (queue) opera em FIFO (First In, First Out): o primeiro elemento inserido é o primeiro a sair. Isso contraria a lógica de undo, que precisa remover o último elemento inserido.
Lista é uma estrutura genérica que permite acesso sequencial. Ela poderia ser usada para implementar uma pilha, mas não representa o conceito abstrato adequado; a pilha é a abstração correta.
Pilha (stack) é a estrutura de dados que implementa o comportamento LIFO. Em um editor de textos, cada ação é "empilhada" e, ao pressionar Ctrl+Z, a ação do topo é desfeita e removida da pilha. Esse é o mecanismo padrão de undo.
Para identificar a estrutura de dados em problemas de sequência de operações, pergunte-se: "a ordem de saída é a mesma da entrada?" Se sim, fila (FIFO); se for inversa, pilha (LIFO).
Gabarito: letra E — Pilha.
Link permanente: /questoes/qg472061