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

Em uma atividade, uma rede é representada por um grafo usando listas de adjacência. Um algoritmo de busca em…

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 uma atividade, uma rede é representada por um grafo usando listas de adjacência. Um algoritmo de busca em profundidade (DFS) visita os vértices e percorre as arestas para explorar toda a rede. Qual é a complexidade temporal da DFS, considerando n vértices e m arestas nesse tipo de representação?

  1. A) A complexidade temporal é O(n + m).
  2. B) A complexidade temporal é O(nm).
  3. C) A complexidade temporal é O(m).
  4. D) A complexidade temporal é O(n).
  5. E) A complexidade temporal é O(m²).

✅ Resposta correta: alternativa A

Resolução passo a passo

  1. A DFS visita cada vértice uma vez, o que custa O(n), pois cada vértice é marcado como visitado e processado no máximo uma vez.
  2. Com listas de adjacência, a DFS percorre a lista de cada vértice, e a soma dos tamanhos de todas as listas é igual a 2m em grafos não direcionados (ou m em grafos direcionados). Logo, o percurso de todas as arestas custa O(m).
  3. Somando as duas partes, o custo total é O(n + m), que é a resposta correta, alternativa A, e coincide com o gabarito oficial.
  4. A alternativa B está errada porque O(nm) seria o custo típico de uma representação por matriz de adjacência com varredura de linhas, e não o da DFS com listas de adjacência, que é linear no tamanho do grafo.
  5. A alternativa C está errada porque ignora a visita aos n vértices; mesmo um grafo sem arestas exige O(n) para a DFS percorrer todos os vértices.
  6. A alternativa D está errada porque ignora o custo de percorrer as arestas, que cresce com m e não é limitado por n em grafos densos.
  7. A alternativa E está errada porque O(m^2) é um custo quadrático em m, que não corresponde ao trabalho de examinar cada aresta uma vez por visita, sendo muito superior ao necessário.

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

Alternativa por alternativa

A Correta

Com listas de adjacência, a DFS visita cada vértice no máximo uma vez e percorre cada aresta um número constante de vezes. Por isso, o tempo total é proporcional à soma do número de vértices e de arestas: O(n + m).

B Erradaerro: Conceituala que mais engana

O aluno pode ter associado a DFS ao produto de vértices por arestas, como se para cada vértice fosse necessário reexaminar todas as arestas do grafo.

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

C Erradaerro: Atenção

O aluno considerou apenas o custo de percorrer as arestas e esqueceu que cada um dos n vértices precisa ser visitado e marcado, mesmo quando há poucas arestas.

D Erradaerro: Conceitual

O aluno pensou que a complexidade depende apenas do número de vértices, talvez por associar a busca somente à quantidade de nós visitados e ignorar o custo de explorar cada conexão.

E Erradaerro: Procedimental

O aluno supôs que percorrer as arestas exigiria comparar cada par de arestas entre si, confundindo a exploração linear de adjacências com um cálculo quadrático.

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

complexidade de algoritmos

📌 Objetivo

avaliacao

🧱 Pré-requisitos

complexidade de algoritmos · busca em profundidade

📚 Reveja

Revisar a complexidade temporal de algoritmos de busca em grafos.

⚠️ Erro mais comum

Confundir a complexidade de busca em profundidade com a de outros algoritmos, como o de Dijkstra, levando a uma escolha errada da alternativa.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

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.