GeraProva GeraProva Provas com IA para professores do Brasil
Computação3ª sérieBNCC EM13CO03Fácil⏱ curto

Dado um grafo representado por lista de adjacência, qual é a complexidade para verificar se existe aresta…

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

Dado um grafo representado por lista de adjacência, qual é a complexidade para verificar se existe aresta entre os vértices u e v examinando a lista de u?

  1. A) O(deg(v)) ao percorrer a lista de v.
  2. B) O(log(deg(u))) ao dividir a lista de u.
  3. C) O(deg(u)) no vértice u (no pior caso O(V)).
  4. D) O(1) em qualquer lista de adjacência.
  5. E) O(E) ao percorrer todas as arestas do grafo.

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. Na representação por lista de adjacência, cada vértice u guarda uma lista com os vizinhos de u. Para saber se existe aresta entre u e v, basta procurar v dentro da lista de u. Passo 2: Essa busca é linear: percorre-se a lista de u até achar v ou chegar ao fim. O custo é proporcional ao número de elementos da lista, ou seja, O(deg(u)). Passo 3: No pior caso, u está ligado a todos os outros vértices, então deg(u) pode ser V-1 e a complexidade vira O(V). Passo 4: Resolvi a questão por conta própria e cheguei à alternativa C, que coincide com o gabarito oficial. Passo 5: A alternativa A está errada porque a busca deve ser feita na lista de u, não na de v; a lista de v não precisa ser consultada. Passo 6: A alternativa B está errada porque a lista de adjacência não é ordenada por padrão, então não há busca binária; só uma estrutura ordenada permitiria O(log(deg(u))). Passo 7: A alternativa D está errada porque O(1) só seria possível com outra estrutura, como matriz de adjacência ou tabela de dispersão, e não em qualquer lista de adjacência. Passo 8: A alternativa E está errada porque percorrer todas as arestas do grafo é desnecessário e custa O(E), muito mais do que o necessário para uma única consulta.

💡 Dica: Considere quantos vizinhos de u podem precisar ser examinados.

Alternativa por alternativa

A Erradaerro: Interpretação

O aluno acha que a verificação deve ser feita na lista do vértice v, como se a aresta fosse procurada a partir do outro extremo. Ele não percebe que, sendo a busca pela lista de u, o custo depende de deg(u).

B Erradaerro: Conceitual

O aluno supõe que a lista de adjacência é ordenada e pode ser dividida ao meio, usando busca binária. Esse raciocínio vale apenas se houver ordenação, o que não é garantido na estrutura comum.

C Correta

Para saber se há uma aresta entre u e v, é preciso procurar v na lista de vizinhos de u. No pior caso, a busca percorre toda essa lista, que tem deg(u) elementos.

D Erradaerro: Conceituala que mais engana

O aluno confunde a lista de adjacência com a matriz de adjacência ou com uma tabela de dispersão, em que a consulta de aresta é direta. Ele generaliza um custo constante que só existe em outras estruturas.

Por que engana: Confundir a busca na lista de adjacência de u com uma consulta de tempo constante ou com a varredura de todas as arestas do grafo.

E Erradaerro: Senso comum

O aluno pensa que é preciso examinar o grafo inteiro para confirmar uma aresta específica. Ele não percebe que a busca fica restrita à lista de um único vértice.

Raio-X da questão

Dificuldade Fácil
Bloom Aplicar
Leitura baixo
Discriminação medio
Peso pedagógico medio
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ direta🧩 abertura
🎯 Conceito central

Busca em lista de adjacência

📌 Objetivo

avaliacao

🧱 Pré-requisitos

Representação de grafos por listas · Grau de um vértice

📚 Reveja

Revise como a representação por lista de adjacência afeta o custo de busca de uma aresta.

⚠️ Erro mais comum

Confundir a busca na lista de adjacência de u com uma consulta de tempo constante ou com a varredura de todas as arestas do grafo.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

tomada_decisao

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