Dado um grafo não direcionado (representado por lista de adjacência) que modela ruas entre bairros, qual…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Utilizar algoritmos clássicos de manipulação sobre listas.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Dado um grafo não direcionado (representado por lista de adjacência) que modela ruas entre bairros, qual algoritmo é mais adequado para encontrar o caminho com o menor número de arestas entre dois vértices: BFS ou DFS? Indique o algoritmo e explique sucintamente por quê.
- A) DFS, porque explora profundamente e assim encontra primeiro o destino, garantindo o menor número de arestas.
- B) Pesquisa gulosa por heurística local, que minimiza arestas examinadas e por isso obtém o menor trajeto.
- C) DFS com poda de ciclos sempre retorna o caminho com menos arestas, evitando caminhos mais longos.
- D) BFS. A busca em largura encontra o menor caminho em número de arestas em grafos não ponderados.
- E) Algoritmo de Prim, pois constrói uma árvore mínima que contém o menor caminho entre dois vértices.
✅ Resposta correta: alternativa D
Resolução passo a passo
- O problema pede o caminho com menor número de arestas entre dois vértices de um grafo não direcionado e não ponderado (cada rua conta como uma aresta de mesmo custo).
- A BFS (busca em largura) visita os vértices por níveis: primeiro todos os vizinhos diretos da origem (distância 1), depois os vizinhos desses (distância 2), e assim por diante. Assim, a primeira vez que o destino é alcançado corresponde ao caminho com o menor número de arestas.
- A DFS (busca em profundidade) segue um ramo até o fim antes de voltar, então encontra um caminho até o destino, mas não necessariamente o mais curto em arestas.
- Por isso a alternativa D está correta e coincide com o gabarito oficial.
- A alternativa A está errada porque explorar profundamente não garante encontrar o destino pelo menor caminho; o primeiro caminho achado pela DFS pode ser muito longo.
- A alternativa B está errada porque a pesquisa gulosa usa heurística e não garante o caminho ótimo em grafos gerais, além de não ser o método padrão para contar arestas.
- A alternativa C está errada porque a poda de ciclos não corrige a ordem de exploração da DFS, que continua podendo retornar caminhos longos.
- A alternativa E está errada porque o algoritmo de Prim constrói uma árvore geradora mínima por pesos, e a árvore resultante não fornece necessariamente o menor caminho entre dois vértices.
💡 Dica: Considere as características dos algoritmos BFS e DFS para justificar sua escolha.
Alternativa por alternativa
Acredita que explorar em profundidade tende a chegar primeiro ao destino e, por isso, garante o menor número de arestas. Confunde chegar primeiro com chegar pelo caminho mais curto.
Por que engana: Confundir a abordagem da DFS com a BFS, acreditando que a busca em profundidade sempre encontra o menor caminho em número de arestas.
Supõe que escolher sempre o vizinho aparentemente mais promissor com heurística local produz o trajeto ótimo. Ignora que a gulosa não garante otimalidade e que o problema não pede heurística.
Acredita que a poda de ciclos muda a ordem de exploração da DFS e a faz encontrar caminhos mínimos. Confunde evitar repetições com garantir o menor número de arestas.
BFS explora vértices por níveis a partir da origem; a primeira visita ao destino ocorre pelo menor número de arestas. DFS segue caminhos até o fim e não garante minimalidade.
Confunde árvore geradora mínima com caminho mínimo entre dois vértices e acredita que a árvore de Prim contém o menor caminho. Além disso, Prim trata pesos, não contagem de arestas.
Raio-X da questão
caminho em grafo
avaliacao
algoritmos de busca em grafos · listas de adjacência
Revisar as propriedades dos algoritmos BFS e DFS.
Confundir a abordagem da DFS com a BFS, acreditando que a busca em profundidade sempre encontra o menor caminho em número de arestas.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Descreva em pseudocódigo, definindo registros e variáveis, um algoritmo que utilize busca em largura (BFS) para…
- Num mapa de ruas de uma cidade (grafo com arestas não negativas), para encontrar o menor caminho entre dois pontos, qual…
- Uma prefeitura quer modelar ruas e rotas de ônibus de um bairro como um grafo direcionado com pesos (tempo de viagem)…
- Descreva um algoritmo que poderia ser utilizado para encontrar o caminho mais curto entre dois pontos em um grafo…
- Para encontrar o menor número de arestas entre dois vértices em um grafo não ponderado, qual algoritmo é mais adequado e…
- Descreva um algoritmo que poderia ser utilizado para encontrar o caminho mais curto entre duas cidades em um mapa…
🔎 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
