Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — IV - UFG 2018
- Código
- qq329957
- Banca
- IV - UFG
- Órgão
- SANEAGO - GO
- Ano
- 2018
- Nível
- Superior
- Cargo
- CS-UFG - - Assistente de Informática
- Auma pilha.
- Bum grafo.
- Cuma lista.
- Duma fila.
GabaritoA — uma pilha.
Gabarito: letra A. O código apresentado insere um novo nó no início da estrutura, o que corresponde à operação de push em uma pilha implementada com lista ligada. Em uma pilha, o topo é o primeiro elemento, e adicionar um novo elemento no topo equivale a inserir no início da lista.
O método addFirst cria um novo nó (ListNode) com o valor v e o encadeia ao antigo first, tornando-se o novo first. Esse padrão é clássico para a operação de push em uma pilha baseada em lista encadeada.
A implementação de pilha com lista ligada utiliza exatamente este código para inserir um elemento no topo (push). O first representa o topo da pilha, e a inserção no início da lista garante a ordem LIFO (Last In, First Out).
Um grafo é uma estrutura não linear composta por vértices e arestas. Não há conceito de "primeiro elemento" nem operação de inserção no início como mostrado.
Embora uma lista encadeada também possa ter o método addFirst, a questão pergunta em qual estrutura o código é utilizado com a finalidade de inserir um elemento. Em uma lista, a inserção pode ocorrer em diversas posições; o código mostrado, por si só, não define uma lista completa. A operação de inserção no início é mais característica da pilha, que é o foco da pergunta.
Em uma fila, a inserção ocorre no final (rear) e a remoção no início (front). O código insere no início, o que viola o comportamento FIFO (First In, First Out) da fila.
A banca utiliza o nome addFirst, que é comum em listas, para testar se o candidato reconhece que a operação de push em uma pilha (quando implementada com lista ligada) é exatamente a mesma. Muitos alunos associam addFirst automaticamente a listas, mas o contexto de inserção no início é a essência da pilha.💡 Dica: Em questões que mostram apenas um trecho de código, foque na operação realizada e não no nome do método. Inserir no início de uma lista encadeada é a implementação típica de push em pilha.
Gabarito: letra A.
Link permanente: /questoes/qq329957