GeraProva GeraProva Provas com IA para professores do Brasil
Computação2º anoBNCC EF15CO04Média⏱ longo

Descreva em pseudocódigo um algoritmo que, dado um grafo dirigido, identifica todas as componentes fortemente…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF15CO04

Aplicar a estratégia de decomposição para resolver problemas complexos, dividindo esse problema em partes menores, resolvendo-as e combinando suas soluções.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Descreva em pseudocódigo um algoritmo que, dado um grafo dirigido, identifica todas as componentes fortemente conexas (SCC) usando busca em profundidade e explique a lógica por trás dos passos.

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

Resposta esperada

Pseudocódigo (Kosaraju): 1) stack = vazio; visited[v]=false ?v 2) for v in V: if !visited[v]: DFS1(v) DFS1(u): visited[u]=true; for w in adj[u]: if !visited[w]: DFS1(w); push(stack,u) 3) Gt = transpose(G) (inverte arestas) 4) visited[v]=false ?v 5) components = [] while stack não vazio: v = pop(stack); if !visited[v]: comp=[]; DFS2(v,comp); components.append(comp) DFS2(u,comp): visited[u]=true; comp.append(u); for w in adj_gt[u]: if !visited[w]: DFS2(w,comp) Explicação da lógica: a primeira DFS registra tempos de finalização; ao processar vértices em ordem decrescente desses tempos no grafo transposto, cada chamada DFS2 visita exatamente uma SCC. Complexidade O(n+m).

Explicação

O algoritmo de Kosaraju utiliza duas passagens de busca em profundidade para identificar as componentes fortemente conexas, primeiro registrando a ordem de finalização dos vértices e, em seguida, explorando o grafo transposto nessa ordem. Essa abordagem garante que cada chamada da segunda DFS encontre e marque todos os vértices de uma única SCC, aproveitando a propriedade de que, em um grafo transposto, as arestas são invertidas. A complexidade O(n+m) reflete a eficiência do algoritmo, onde n é o número de vértices e m é o número de arestas.

Raio-X da questão

Dificuldade Média
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

componentes fortemente conexas

📌 Objetivo

avaliacao

🧱 Pré-requisitos

algoritmos de busca · grafos dirigidos

📚 Reveja

Revisar algoritmos de busca em profundidade e suas aplicações em grafos.

⚠️ Erro mais comum

O aluno pode confundir a lógica de busca em profundidade com a busca em largura, aplicando o método errado para encontrar as componentes fortemente conexas.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de Decomposição

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