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

Projete um algoritmo em alto nível (pseudocódigo) que converta um grafo simples não direcionado esparso dado…

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

Projete um algoritmo em alto nível (pseudocódigo) que converta um grafo simples não direcionado esparso dado por lista de adjacência em uma representação compacta usando duas arrays: head[v] (início) e edges[k] (vértices adjacentes concatenados). Inclua como calcular head e preencher edges e explique custo e como inserir uma nova aresta.

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

Resposta esperada

Resposta modelo (pseudocódigo resumido): 1) contar graus: for v in V: deg[v]=len(adj[v]) 2) prefixo: head[0]=0; for i=1..n-1: head[i]=head[i-1]+deg[i-1] 3) alocar edges[0..2E-1] e pos[]=head 4) for v in V: for u in adj[v]: edges[pos[v]] = u; pos[v] += 1 Inserção de aresta (x,y): append y em edges na posição pos[x] e x em edges em pos[y]; se arrays cheias, realocar (amortizado). Custo de construção O(V+E); inserção O(1) amortizado se usar buffer dinâmico; busca de vizinho explícita exige varredura da faixa head[v]..head[v+1]-1.

Explicação

O algoritmo proposto utiliza a contagem dos graus dos vértices para calcular os índices de início de cada lista de adjacência na array head, garantindo uma representação compacta e eficiente. A alocação da array edges permite armazenar os vértices adjacentes de forma sequencial, facilitando a inserção de novas arestas. O custo de construção é linear em relação ao número de vértices e arestas, e a inserção de arestas é otimizada para ser constante em média, utilizando um buffer dinâmico.

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

representação de grafos

📌 Objetivo

avaliacao

🧱 Pré-requisitos

listas de adjacência · estrutura de dados

📚 Reveja

Revisar conceitos de grafos e suas representações em computação.

⚠️ Erro mais comum

O aluno pode confundir a representação de listas de adjacência com matrizes de adjacência, resultando em um algoritmo incorreto.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

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.