GeraProva GeraProva Provas com IA para professores do Brasil
Computação3ª sérieBNCC EM13CO03Difícil⏱ medio

Em um grafo representado por listas de adjacência com n vértices e m arestas, ao executar a busca em largura…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO03

Identificar o comportamento dos algoritmos no que diz respeito ao consumo de recursos como tempo de execução, espaço de memória e energia, entre outros.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Em um grafo representado por listas de adjacência com n vértices e m arestas, ao executar a busca em largura (BFS), qual é a ordem assintótica do tempo em termos das variáveis n e m?

  1. A) Tempo O(n^2), considerando que cada vértice é conectado a todos os outros.
  2. B) Tempo O(m^2) porque m representa o número total de arestas.
  3. C) Tempo O(log n), considerando estrutura de árvore balanceada para busca.
  4. D) Tempo O(n) pois ignora a relação com as arestas do grafo.
  5. E) Tempo O(n + m), onde n = número de vértices e m = número de arestas.

✅ Resposta correta: alternativa E

Resolução passo a passo

  1. A busca em largura (BFS) visita cada vértice no máximo uma vez, colocando-o na fila e marcando-o como visitado. Isso custa O(n) no total, considerando o trabalho de inicializar e processar todos os vértices.
  2. Ao remover cada vértice da fila, a BFS percorre sua lista de adjacência para examinar os vizinhos. Como cada aresta aparece nas listas de adjacência (duas vezes em grafo não direcionado, uma vez em grafo direcionado), o total de inspeções das listas é proporcional a m.
  3. Somando os dois custos, o tempo total é O(n + m). Esta é a complexidade padrão da BFS com listas de adjacência e é a resposta correta, coincidindo com o gabarito oficial.
  4. A alternativa A está errada, pois O(n^2) só seria adequado com matriz de adjacência ou grafo denso, e não é a complexidade da BFS com listas de adjacência; o fato de cada vértice ligar a todos os outros não é pressuposto do enunciado.
  5. A alternativa B está errada, pois O(m^2) é um custo que não surge na BFS; a BFS examina cada aresta apenas uma vez por lista de adjacência, não comparando pares de arestas.
  6. A alternativa C está errada, pois O(log n) corresponde a buscas em árvores balanceadas, enquanto a BFS precisa visitar todos os vértices e arestas, o que impede tempo logarítmico.
  7. A alternativa D está errada, pois O(n) ignora as arestas, que são inspecionadas durante a expansão de cada vértice; o tempo depende também de m.

💡 Dica: Considere a definição de complexidade de algoritmos.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

Assume que o grafo é denso e que a estrutura exige comparar todos os pares de vértices, como faria uma matriz de adjacência. Confunde o custo de representação com o custo do algoritmo sobre listas de adjacência.

Por que engana: Confundir a complexidade da busca em largura com a de outros algoritmos, como a busca em profundidade, levando a uma escolha incorreta da alternativa.

B Erradaerro: Conceitual

Acredita que o número de arestas tem que ser elevado ao quadrado, talvez por confundir a BFS com algoritmos que comparam pares de arestas. Não entende que cada aresta é examinada uma vez por lista de adjacência.

C Erradaerro: Senso comum

Transfere a intuição de busca binária ou de árvore balanceada para um grafo qualquer. Não percebe que a BFS precisa percorrer todos os vértices e não descarta metade da entrada a cada passo.

D Erradaerro: Procedimental

Considera apenas o número de vértices, achando que processar cada vértice basta. Esquece que a expansão de cada vértice percorre seus vizinhos, o que depende de m.

E Correta

BFS visita cada vértice uma vez e percorre todas as arestas adjacentes uma vez ao explorar listas de adjacência, resultando em custo linear em n+m.

Raio-X da questão

Dificuldade Difícil
Bloom Analisar
Leitura alto
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🧩 desafio
🎯 Conceito central

busca em largura

📌 Objetivo

avaliacao

🧱 Pré-requisitos

complexidade de algoritmos · estruturas de dados

📚 Reveja

Revisar a complexidade de algoritmos de busca em grafos.

⚠️ Erro mais comum

Confundir a complexidade da busca em largura com a de outros algoritmos, como a busca em profundidade, levando a uma escolha incorreta da alternativa.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de [CONFERIR] Construir soluções baseadas no uso de algoritmos e conceitos da Computação para resolver problemas, avaliando suas qualidades e melhorando-as.

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