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
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?
- A) Busca em largura
- B) Algoritmo de Kruskal
- C) Busca em profundidade
- D) Algoritmo de Dijkstra
- E) Algoritmo de Prim
✅ Resposta correta: alternativa D
Resolução passo a passo
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
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.
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.
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.
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.
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
algoritmo de menor caminho
avaliacao
algoritmos de grafos · estruturas de dados
Revisar algoritmos de busca em grafos, como Dijkstra e Bellman-Ford.
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.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Para organizar uma exposição escolar, a turma desenhou as ligações diretas entre quatro setores. Cada letra indica um…
- Técnicos instalam uma rede de comunicação por cabos entre os postos de uma reserva ambiental. Os postos são Riacho…
- Moradores acompanham a criação de um aplicativo para orientar deslocamentos durante a feira do bairro. No mapa…
- Durante os preparativos para uma feira de ciências no bairro, a organização desenhou um mapa digital dos caminhos…
- Por que uma rede de aviso precisa continuar funcionando mesmo quando um ponto para de operar? Em uma cidade litorânea, a…
- — Dá para passar por todas as ruas sem repetir nenhuma? — perguntou um morador, ao ver o triciclo do mutirão de coleta…
🔎 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
