Questão 67510

Tecnologia da Informação · 2025

Questão

ID 67510

Disciplina: Tecnologia da Informação

Assuntos: Listas, Vetores e Matrizes

Ano: 2025 Banca: PERFIL - ENADE Órgão: Quarto Simulado Pnd


Um professor de um curso de Licenciatura em Computação está ensinando sobre a estrutura de dados 'Grafo'. Ele quer que seus alunos compreendam as duas principais formas de representar um grafo na memória do computador: a **Matriz de Adjacência** e a **Lista de Adjacência**, e os trade-offs entre elas. Ele explica: "Um grafo com $V$ vértices pode ser representado de várias maneiras. Uma **Matriz de Adjacência** é uma matriz $V \times V$, onde a posição `matriz[i][j]` é 1 se existe uma aresta do vértice $i$ para o $j$, e 0 caso contrário. Uma **Lista de Adjacência** é um array de $V$ listas, onde a lista na posição `lista[i]` contém todos os vértices adjacentes a $i$. A escolha da representação impacta o consumo de espaço e o tempo de execução dos algoritmos. A matriz de adjacência consome sempre $\Theta(V^2)$ de espaço, independentemente do número de arestas. A lista de adjacência consome $\Theta(V+E)$ de espaço, onde $E$ é o número de arestas." Ele então propõe dois cenários:

Cenário 1: Um grafo 'denso', como uma rede social onde quase todo mundo é amigo de todo mundo. O número de arestas ($E$) é próximo de $V^2$. Cenário 2: Um grafo 'esparso', como um mapa rodoviário, onde cada cidade (vértice) está conectada a apenas algumas cidades vizinhas. O número de arestas ($E$) é muito menor que $V^2$.

Qual representação de grafo seria mais eficiente em termos de **espaço de memória** para cada um dos cenários?

Alternativas da questão 67510
Pular para o conteúdo principal