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

Projete um algoritmo em linguagem descritiva que, dado um grafo ponderado não dirigido em que vértices são…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF08CO04

Construir soluções computacionais de problemas de diferentes áreas do conhecimento, de forma individual e colaborativa, selecionando as estruturas de dados e técnicas adequadas, aperfeiçoando e articulando saberes escolares.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete um algoritmo em linguagem descritiva que, dado um grafo ponderado não dirigido em que vértices são pontos de coleta de lixo na cidade e arestas têm peso igual ao tempo de deslocamento, produza uma rota aproximada que visite todos os vértices usando uma heurística baseada em lista de vizinhos; descreva também como representar os dados e avalie a complexidade do método.

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

Resposta esperada

Representação: usar lista de adjacência com, para cada vértice, lista de pares (vizinho, peso). Heurística (vizinho mais próximo): 1) Escolher vértice inicial arbitrário; 2) marcar como visitado; 3) repetir: entre os vizinhos do vértice atual não visitados escolher o de menor peso; se não houver vizinhos não visitados, escolher o vértice não visitado mais próximo pesquisando a lista (ou aplicar busca em largura a partir do atual para encontrar caminho); marcar e avançar até todos visitados; 4) retornar ao início se necessário. Avaliação: heurística é gulosa e não garante otimalidade (problema do caixeiro é NP-difícil), mas é simples e rápida em prática. Complexidade: em lista de adjacência, escolha do vizinho mais próximo local pode ser feita em tempo proporcional ao grau do vértice; processo completo custa aproximadamente O(V^2 + E) no pior caso (implementação simples), ou O(V log V + E) com estruturas auxiliares (heap) para buscas globais. Justificativa prática: solução é aplicável a roteiros urbanos com muitos vértices onde encontrar solução ótima é inviável; representações por lista reduzem memória em grafos esparsos e facilitam iteração sobre vizinhos.

Explicação

A representação em lista de adjacência é eficiente para armazenar grafos esparsos, permitindo acesso rápido aos vizinhos de cada vértice. A heurística do vizinho mais próximo oferece uma abordagem prática para encontrar uma rota, mesmo que não garanta a solução ótima, sendo adequada para situações do mundo real onde a otimização total é inviável. A análise de complexidade apresentada fornece uma visão clara sobre o desempenho do algoritmo em diferentes cenários, destacando sua viabilidade em aplicações urbanas.

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

algoritmo de roteamento

📌 Objetivo

avaliacao

🧱 Pré-requisitos

algoritmos de grafos · heurísticas em algoritmos

📚 Reveja

Revisar conceitos de grafos e algoritmos de busca.

⚠️ Erro mais comum

O aluno pode confundir a representação do grafo e não considerar corretamente os pesos das arestas, resultando em uma rota ineficiente.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de Programação - Projetos com programaçã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.