GeraProva GeraProva Provas com IA para professores do Brasil
Computação1ª sérieBNCC EM13CO02Fácil⏱ curto

Em um algoritmo de Dijkstra implementado para um grafo ponderado com listas de adjacência, qual variável…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO02

Explorar e construir a solução de problemas por meio de refinamentos, utilizando diversos níveis de abstração desde a especificação até a implementação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Em um algoritmo de Dijkstra implementado para um grafo ponderado com listas de adjacência, qual variável armazena a menor distância conhecida de cada vértice à fonte?

  1. A) Uma variável booleana que indica se um nó foi visitado.
  2. B) O vetor 'dist' (ou 'distância'), que contém a melhor estimativa de distância do vértice fonte a cada vértice.
  3. C) Uma lista encadeada ordenada, que permite acesso aleatório aos nós da árvore.
  4. D) Uma fila (queue), pois facilita a exploração de todos os nós antes de finalizar os atuais.
  5. E) Um array estático, onde os índices representam diretamente os nós da árvore.

✅ Resposta correta: alternativa B

Resolução passo a passo

  1. No algoritmo de Dijkstra, cada vértice precisa guardar a melhor estimativa de distância até a fonte, que é atualizada durante a execução. Essa informação fica normalmente em um vetor (array) chamado 'dist' ou 'distância', com uma posição para cada vértice.
  2. Inicialmente, dist[fonte] recebe 0 e os demais vértices recebem infinito. Ao examinar uma aresta do vértice u até o vértice v com peso p, se dist[u] + p for menor que dist[v], o valor de dist[v] é atualizado. Assim, ao final, dist[v] contém a menor distância encontrada da fonte até v.
  3. Por que as outras alternativas estão erradas:
  4. A) Uma variável booleana apenas indica se o nó já foi visitado ou finalizado; ela não guarda nenhuma distância.
  5. C) Uma lista encadeada ordenada não é a estrutura que guarda a distância de cada vértice e não oferece acesso aleatório eficiente.
  6. D) Uma fila é a estrutura de uma busca em largura, não armazena distâncias por vértice no Dijkstra.
  7. E) Um array estático com índices representando nós descreve uma forma de representar nós, mas não é a variável que armazena a menor distância conhecida; o array 'dist' é que cumpre esse papel.
  8. Conclusão: a resposta correta é a alternativa B, que coincide com o gabarito oficial.

💡 Dica: Lembre-se da estrutura de dados utilizada no algoritmo de Dijkstra.

Alternativa por alternativa

A Erradaerro: Conceitual

O aluno confunde o controle de visitação, usado para marcar nós já finalizados, com o armazenamento de distâncias. Acha que saber se um nó foi visitado já define sua distância mínima.

B Correta

Dijkstra inicializa 'dist' com infinito e atualiza suas entradas ('relaxa' arestas) quando encontra caminhos mais curtos; esse vetor mantém as estimativas usadas para escolher o próximo vértice.

C Erradaerro: Conceitual

O aluno associa a estrutura de dados do algoritmo a uma lista encadeada ordenada, imaginando que ela guarda as distâncias. Não percebe que a distância por vértice é guardada em um vetor indexado pelo vértice.

D Erradaerro: Conceituala que mais engana

O aluno mistura Dijkstra com busca em largura, imaginando que a fila de exploração é o local onde se armazena a menor distância. A fila (ou heap) apenas organiza a ordem de processamento dos vértices.

Por que engana: Confundir a variável que armazena a distância com a estrutura que controla a visitação dos nós.

E Erradaerro: Interpretação

O aluno considera que a estrutura de array indexada pelos nós basta para responder, sem perceber que a questão pede a variável que guarda a distância. O array só é útil porque armazena os valores de 'dist'.

Raio-X da questão

Dificuldade Fácil
Bloom Lembrar
Leitura medio
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ direta🧩 consolidacao
🎯 Conceito central

algoritmo de Dijkstra

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estruturas de dados · algoritmos de busca

📚 Reveja

Revisar a implementação do algoritmo de Dijkstra e suas variáveis.

⚠️ Erro mais comum

Confundir a variável que armazena a distância com a estrutura que controla a visitação dos nós.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de [CONFERIR] Construir soluções baseadas no uso de algoritmos e conceitos da Computação para resolver problemas, avaliando suas qualidades e melhorando-as.

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