Uma equipe de mobilidade urbana modelou as conexões entre 12.000 pontos de ônibus de uma cidade como um grafo…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
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
Uma equipe de mobilidade urbana modelou as conexões entre 12.000 pontos de ônibus de uma cidade como um grafo não direcionado. Nesse grafo, cada ponto é um vértice e cada ligação direta entre dois pontos é uma aresta. O levantamento identificou 36.000 ligações, número muito menor que a quantidade de pares possíveis de pontos. A equipe precisa escolher uma representação que use memória principalmente para armazenar as ligações existentes, sem reservar espaço para cada par possível de vértices. Com base no texto, qual representação de grafo permite armazenar as conexões existentes com menor desperdício de memória nesse caso?
- A) Matriz de incidência — cada vértice ocupa uma posição por aresta.
- B) Lista de adjacência — cada vértice armazena apenas seus vizinhos.
- C) Matriz de adjacência — cada par de vértices ocupa uma posição.
- D) Lista de adjacência — cada vértice reserva espaço para todos os possíveis vizinhos.
- E) Árvore binária — cada vértice possui no máximo dois vizinhos.
✅ Resposta correta: alternativa B
Resolução passo a passo
- O enunciado descreve um grafo esparso, com 12.000 vértices e apenas 36.000 arestas, bem abaixo do total de pares possíveis (cerca de 71.994.000 pares, ou seja, 12.000 x 11.999 / 2). O objetivo é gastar memória principalmente com as ligações existentes, sem reservar espaço para cada par possível.
- A lista de adjacência guarda, para cada vértice, apenas a lista de seus vizinhos diretos. Como o grafo é não direcionado, cada aresta aparece duas vezes, então o total de entradas é cerca de 2 x 36.000 = 72.000, mais as listas de cabeçalho de 12.000 vértices. Isso é proporcional ao número de arestas existentes, por isso é a opção com menor desperdício.
- A matriz de adjacência tem 12.000 x 12.000 = 144 milhões de posições, quase todas vazias (zeros), pois reserva uma posição para cada par de vértices. É exatamente o desperdício que o enunciado quer evitar.
- A matriz de incidência tem uma linha por vértice e uma coluna por aresta, ou seja, 12.000 x 36.000 = 432 milhões de posições, o que é ainda pior.
- A alternativa D descreve a lista de adjacência, mas afirma que cada vértice reserva espaço para todos os possíveis vizinhos. Isso é falso para a lista de adjacência, que armazena só os vizinhos existentes, e a descrição se aproxima do que faz a matriz de adjacência.
- A árvore binária não serve como representação geral: uma árvore com 12.000 vértices tem no máximo 11.999 arestas, e o enunciado fala em 36.000 ligações, além de a árvore binária impor limite de dois vizinhos que não se aplica ao grafo.
- Conclusão: a alternativa correta é a B, que coincide com o gabarito oficial.
💡 Dica: Identifique qual estrutura armazena apenas as conexões existentes em um grafo esparso.
Alternativa por alternativa
O aluno pode acreditar que a matriz de incidência é compacta por registrar só as arestas, sem perceber que ela ocupa uma linha por vértice e uma coluna por aresta, o que dá 12.000 x 36.000 posições.
A lista de adjacência mantém, para cada vértice, uma relação apenas dos vértices aos quais ele está conectado. Assim, seu espaço de armazenamento é proporcional ao número de vértices e de arestas, O(V + E). Como o grafo possui poucas arestas em relação ao número de pares possíveis, essa representação evita reservar espaço para conexões inexistentes.
O aluno pode achar que a matriz de adjacência é a forma natural de representar grafos e não notar que ela reserva uma posição para cada par de vértices, mesmo quando quase todas estão vazias.
Por que engana: O aluno pode escolher a matriz de adjacência por associá-la diretamente ao armazenamento de conexões, sem considerar que ela reserva espaço para todos os pares de vértices.
O aluno identifica corretamente o nome da estrutura, mas aceita a descrição errada de que cada vértice reserva espaço para todos os possíveis vizinhos, o que confunde a lista de adjacência com a matriz de adjacência.
O aluno pode confundir o grafo com uma árvore binária e supor que todo vértice tem no máximo dois vizinhos, ignorando que o enunciado descreve 36.000 ligações entre 12.000 pontos.
Raio-X da questão
Lista de adjacência em grafos
avaliacao
Conceito de vértices e arestas · Representação de grafos esparsos
Revise as diferenças entre lista de adjacência, matriz de adjacência e matriz de incidência.
O aluno pode escolher a matriz de adjacência por associá-la diretamente ao armazenamento de conexões, sem considerar que ela reserva espaço para todos os pares de vértices.
ciencia_tecnologia
tomada_decisao
cientifico
Questões parecidas com resolução
- Numa rede de ônibus municipal modelada como grafo esparso, qual representação costuma usar menos memória: lista de…
- Ao implementar um grafo não direcionado em código para modelar rotas locais, que estrutura de dado é mais adequada para…
- Uma equipe de estudantes desenvolveu um aplicativo para mapear as conexões entre pontos de coleta seletiva em uma…
- Uma cidade quer organizar um sistema de transporte com várias paradas. Cada parada pode estar ligada diretamente a…
- Um grafo tem milhares de vértices, mas cada vértice se liga a poucos outros. Qual estrutura representa esse grafo…
- Em um grafo que representa amizades em uma turma (cada aluno é um vértice e cada amizade é uma aresta), cada aluno tem…
🔎 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
