GeraProva GeraProva Provas com IA para professores do Brasil
Computação7º anoBNCC EF07CO04Difícil⏱ medio

Em uma competição de programação, uma equipe precisa calcular o menor custo para sair de um ponto inicial e…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF07CO04

Explorar propriedades básicas de grafos.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Em uma competição de programação, uma equipe precisa calcular o menor custo para sair de um ponto inicial e chegar a cada outro ponto de uma rede. Cada ligação da rede tem um valor numérico não negativo, que representa seu custo. A equipe considera usar Dijkstra, busca em largura, busca em profundidade, Prim ou Kruskal. Qual algoritmo é mais apropriado para encontrar os menores caminhos a partir de um ponto inicial nessa rede com custos não negativos?

  1. A) Busca em largura
  2. B) Algoritmo de Kruskal
  3. C) Busca em profundidade
  4. D) Algoritmo de Dijkstra
  5. E) Algoritmo de Prim

✅ Resposta correta: alternativa D

Resolução passo a passo

  1. O problema pede os menores caminhos a partir de um ponto inicial (origem única) para todos os outros pontos, em uma rede com custos não negativos nas ligações.
  2. Esse é o problema clássico de caminhos mínimos de fonte única, para o qual o algoritmo de Dijkstra é a escolha padrão quando os pesos são não negativos. Ele mantém uma estimativa de distância para cada vértice e, a cada passo, fixa o vértice não visitado de menor distância, relaxando suas arestas.
  3. A alternativa A (busca em largura) só encontra caminhos mínimos quando todas as ligações têm o mesmo custo; com custos diferentes ela não garante o menor custo total.
  4. A alternativa B (Kruskal) constrói uma árvore geradora de custo mínimo, que conecta todos os pontos com custo total mínimo, mas não calcula o menor caminho de um ponto inicial até cada outro.
  5. A alternativa C (busca em profundidade) percorre a rede explorando um caminho até o fim antes de voltar, sem qualquer critério de custo, portanto não serve para menores caminhos.
  6. A alternativa E (Prim) também gera uma árvore geradora mínima; ela minimiza o custo total da árvore, e não a soma do caminho de um ponto inicial até cada destino.
  7. Logo, a alternativa correta é a D, Algoritmo de Dijkstra, que coincide com o gabarito oficial.

💡 Dica: Considere os algoritmos de busca em grafos.

Alternativa por alternativa

A Erradaerro: Conceitual

O aluno acredita que a busca em largura encontra o caminho de menor custo porque visita os vértices por níveis, em ordem de número de arestas. Ela só minimiza custo quando todas as ligações têm o mesmo peso.

B Erradaerro: Conceituala que mais engana

O aluno confunde caminho mínimo com árvore geradora mínima, achando que Kruskal conecta todos os pontos pelo menor custo e, portanto, dá os menores caminhos a partir de um ponto.

Por que engana: Confundir o algoritmo de Dijkstra com algoritmos de busca, como Busca em Largura ou Busca em Profundidade, que não são adequados para encontrar o menor caminho.

C Erradaerro: Conceitual

O aluno associa a busca em profundidade a qualquer tipo de percurso completo da rede e imagina que ela também encontra o melhor caminho, sem considerar os custos das ligações.

D Correta

O algoritmo de Dijkstra encontra os menores caminhos a partir de um ponto inicial quando os custos das ligações são não negativos. Ele considera os custos acumulados e escolhe, a cada etapa, o ponto ainda não analisado com menor custo conhecido.

E Erradaerro: Conceitual

O aluno acredita que Prim, por ser um algoritmo guloso que escolhe sempre a aresta de menor custo, produz os menores caminhos a partir do ponto inicial, confundindo árvore geradora mínima com caminhos mínimos.

Raio-X da questão

Dificuldade Difícil
Bloom Analisar
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✍️ situacional🧩 desafio
🎯 Conceito central

algoritmo de menor caminho

📌 Objetivo

avaliacao

🧱 Pré-requisitos

algoritmos de grafos · estruturas de dados

📚 Reveja

Revisar algoritmos de busca em grafos, como Dijkstra e Bellman-Ford.

⚠️ Erro mais comum

Confundir o algoritmo de Dijkstra com algoritmos de busca, como Busca em Largura ou Busca em Profundidade, que não são adequados para encontrar o menor caminho.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de Programação - Propriedades de grafos

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