Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — IV - UFG 2018

Algoritmos e Estrutura de DadosEstrutura de Dados
Código
qq329957
Banca
IV - UFG
Órgão
SANEAGO - GO
Ano
2018
Nível
Superior
Cargo
CS-UFG - - Assistente de Informática
Veja o trecho que segue:Void addFirst(int v) {First = new ListNode(v, first);Size++;}Este trecho de código é utilizado em estrutura de dados com a finalidade de inserir um elemento em
  1. Auma pilha.
  2. Bum grafo.
  3. Cuma lista.
  4. Duma fila.
Revelar gabarito e comentário

GabaritoA — uma pilha.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Inserção em estrutura de dados: 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.

Alternativa A — ✅ Correta ⟵ GABARITO

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).

Alternativa B — ❌ Incorreta

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.

Alternativa C — ❌ Incorreta

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.

Alternativa D — ❌ Incorreta

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.

NÃO CAIA NESSA!

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