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
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?
- A) Uma variável booleana que indica se um nó foi visitado.
- B) O vetor 'dist' (ou 'distância'), que contém a melhor estimativa de distância do vértice fonte a cada vértice.
- C) Uma lista encadeada ordenada, que permite acesso aleatório aos nós da árvore.
- D) Uma fila (queue), pois facilita a exploração de todos os nós antes de finalizar os atuais.
- E) Um array estático, onde os índices representam diretamente os nós da árvore.
✅ Resposta correta: alternativa B
Resolução passo a passo
- 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.
- 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.
- Por que as outras alternativas estão erradas:
- A) Uma variável booleana apenas indica se o nó já foi visitado ou finalizado; ela não guarda nenhuma distância.
- 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.
- D) Uma fila é a estrutura de uma busca em largura, não armazena distâncias por vértice no Dijkstra.
- 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.
- 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
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.
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.
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.
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.
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
algoritmo de Dijkstra
avaliacao
estruturas de dados · algoritmos de busca
Revisar a implementação do algoritmo de Dijkstra e suas variáveis.
Confundir a variável que armazena a distância com a estrutura que controla a visitação dos nós.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Em um projeto de monitoramento de rios, uma boia computacional organiza leituras de sensores antes de enviá-las por…
- Uma biblioteca escolar recebeu caixas de livros doados para uma feira de troca. Para registrar os exemplares, a equipe…
- Um centro cultural público oferece inscrições on-line para atividades com critérios variados. Na oficina de teatro…
- Uma escola está testando dois protótipos de aplicativo para que estudantes consultem mudanças de sala, horários e…
- Uma secretaria municipal de educação está digitalizando pedidos de transporte escolar e de atendimento em contraturno…
- — O cartaz não pode sair duas vezes, pois a feira começa em uma hora — alertou a coordenadora do centro cultural. No…
🔎 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
