GeraProva GeraProva Provas com IA para professores do Brasil
Computação9º anoBNCC EF09CO01Difícil⏱ longo

Projete um algoritmo em pseudocódigo para detectar ciclos em um grafo dirigido representado por listas de…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF09CO01

Criar soluções de problemas para os quais seja adequado o uso de árvores e grafos para descrever suas informações e automatizá-las usando uma linguagem de programação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete um algoritmo em pseudocódigo para detectar ciclos em um grafo dirigido representado por listas de adjacência; explique a estrutura de dados, os passos e a complexidade.

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Usar DFS com marcação de estados: 0=não visitado, 1=visiting, 2=visitado. Pseudocódigo: DFS(u): state[u]=1; para v em adj[u]: se state[v]==0 então DFS(v) elif state[v]==1 então return true; fim; state[u]=2; return false. Executar DFS em todos os vértices não visitados. Estruturas: lista de adjacência e vetor de estados. Complexidade: O(V+E).

Explicação

A abordagem utiliza a busca em profundidade (DFS) para percorrer os vértices do grafo, marcando o estado de cada um para identificar ciclos. A marcação dos estados permite distinguir entre vértices que estão sendo visitados e aqueles que já foram completamente explorados, facilitando a detecção de ciclos. A complexidade O(V+E) reflete a eficiência do algoritmo, pois cada vértice e aresta é processado uma única vez.

Raio-X da questão

Dificuldade Difícil
Bloom Criar
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

detecção de ciclos em grafos

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estruturas de dados · algoritmos de busca

📚 Reveja

Revisar algoritmos de busca em grafos e suas complexidades.

⚠️ Erro mais comum

O aluno pode confundir a detecção de ciclos com a simples travessia do grafo, não considerando as condições necessárias para identificar um ciclo.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de Programação - Programação usando grafos e árvores

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