Descreva em pseudocódigo, definindo registros e variáveis, um algoritmo que utilize busca em largura (BFS)…
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
Descreva em pseudocódigo, definindo registros e variáveis, um algoritmo que utilize busca em largura (BFS) para encontrar o menor caminho em número de arestas entre dois vértices em um grafo representado por listas de adjacência; explique invariantes e complexidade.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Defina registro Visit {v, pred}. Pseudocódigo: inicialize fila Q; marque origem visitada e enfileire( origem, pred = null ). Enquanto Q não vazia: u = desenfileire(); para cada w em adj[u] se não visitado marque visitado, pred[w]=u, enfileire(w); se w==alvo, pare e reconstrua caminho via pred. Invariantes: pred mantém predecessor mínimo em número de arestas; fila processa níveis por ordem crescente de distância. Complexidade: O(V+E) tempo e O(V) espaço para marcações e pred.
Explicação
A descrição do algoritmo apresenta claramente a estrutura de dados necessária, como a fila para a busca em largura e o registro para armazenar os predecessores. As invariantes explicadas garantem que o algoritmo sempre encontra o caminho mais curto em termos de arestas, mantendo a ordem de exploração dos vértices. A análise de complexidade fornece uma visão clara da eficiência do algoritmo em relação ao número de vértices e arestas do grafo.
Raio-X da questão
busca em largura
avaliacao
estruturas de dados · algoritmos de busca
Revisar algoritmos de busca em grafos e suas complexidades.
O aluno pode confundir a busca em largura com a busca em profundidade, aplicando a lógica errada para encontrar o menor caminho.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Desenvolva um algoritmo em pseudocódigo que, dado um grafo não direcionado conectado e um vértice raiz, construa a…
- Dado um grafo não direcionado (representado por lista de adjacência) que modela ruas entre bairros, qual algoritmo é…
- Dado um grafo ponderado não dirigido onde vértices são cidades e cada aresta armazena distância (km) e limite de…
- Elabore um algoritmo em pseudocódigo que, dado um grafo representado por lista de adjacência e dois vértices (origem…
- Descreva um algoritmo em pseudocódigo que, dado um grafo dirigido acíclico e dois vértices s e t, encontra um caminho de…
- Descreva um algoritmo, indicando as variáveis-chave e os passos, para identificar todos os vértices de articulação (cut…
🔎 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
