GeraProva GeraProva Provas com IA para professores do Brasil
Computação9º anoBNCC EF09CO01Fácil⏱ curto

Em uma implementação iterativa do algoritmo DFS (busca em profundidade) para um grafo, qual estrutura de dado…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF09CO01

Criar soluções de problemas para os quais seja adequado o uso de árvores e grafos para descrever suas informações e automatizá-las usando uma linguagem de programação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Em uma implementação iterativa do algoritmo DFS (busca em profundidade) para um grafo, qual estrutura de dado é usada para empilhar vértices a visitar durante a exploração?

  1. A) Lista encadeada
  2. B) Árvore binária
  3. C) Pilha (stack).
  4. D) Fila (queue)
  5. E) Tabela hash

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. A busca em profundidade (DFS) explora o grafo indo o mais fundo possível por um caminho antes de retroceder. Na versão iterativa, isso é feito com uma estrutura que segue a regra LIFO (último a entrar, primeiro a sair).
  2. Essa estrutura é a pilha (stack). A cada vértice descoberto, ele é empilhado; o próximo vértice a ser visitado é o do topo da pilha, o que faz a exploração seguir sempre o caminho mais recente.
  3. Por que as outras estão erradas: a lista encadeada é apenas uma forma de armazenar dados, não define a ordem de remoção exigida pela DFS; a árvore binária é um tipo de grafo/estrutura de dados que o algoritmo percorre, não a estrutura auxiliar de controle; a fila (queue) segue a regra FIFO e produz a busca em largura (BFS), não a DFS; a tabela hash serve para busca rápida por chave e não define ordem de exploração.
  4. Conclusão: a alternativa C está correta e coincide com o gabarito oficial.

💡 Dica: Lembre-se da estrutura de dados utilizada na DFS.

Alternativa por alternativa

A Erradaerro: Conceitual

O aluno confunde a estrutura de armazenamento com a disciplina de acesso; acredita que qualquer lista encadeada basta para controlar a exploração.

B Erradaerro: Conceitual

O aluno associa DFS a árvores, pois a busca em profundidade é frequentemente ilustrada em árvores binárias, e não percebe que a estrutura auxiliar é outra.

C Correta

A DFS explora caminhos em profundidade; a versão iterativa simula a recursão com uma pilha LIFO que armazena vértices a serem processados e permite retornar ao vértice anterior.

D Erradaerro: Conceituala que mais engana

O aluno lembra que a busca em grafos usa filas, confundindo a BFS (busca em largura, FIFO) com a DFS (busca em profundidade, LIFO).

Por que engana: Confundir a pilha com a fila, escolhendo a fila como estrutura de dados para a busca em profundidade.

E Erradaerro: Conceitual

O aluno pensa que, por a hash permitir marcar rapidamente os vértices já visitados, ela é a estrutura central da exploração, confundindo controle de visitados com ordem de visita.

Raio-X da questão

Dificuldade Fácil
Bloom Lembrar
Leitura medio
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ direta🧩 consolidacao
🎯 Conceito central

busca em profundidade

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estruturas de dados · algoritmos de busca

📚 Reveja

Revisar o funcionamento do algoritmo DFS e suas estruturas de dados.

⚠️ Erro mais comum

Confundir a pilha com a fila, escolhendo a fila como estrutura de dados para a busca em profundidade.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Programação - Programação usando grafos e árvores

🔎 Procurar outra questão

Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.

Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.