GeraProva GeraProva Provas com IA para professores do Brasil
Computação1ª sérieBNCC EM13CO01Média⏱ curto

Ao generalizar um algoritmo recursivo que calcula custo mínimo em uma rede (grafo) para múltiplas instâncias…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO01

Explorar e construir a solução de problemas por meio da reutilização de partes de soluções existentes.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Ao generalizar um algoritmo recursivo que calcula custo mínimo em uma rede (grafo) para múltiplas instâncias, qual variável parâmetro permite reaproveitar subresultados (memoização) entre chamadas e evitar recomputação? Especifique tipo.

  1. A) cache: List<Cost>
  2. B) cache: Map<NodeKey, string>
  3. C) cache: Set<NodeKey>
  4. D) cache: Map<Cost, NodeKey>
  5. E) cache: Map<NodeKey, Cost> (ou dictionário de pares estado->custo)

✅ Resposta correta: alternativa E

Resolução passo a passo

  1. A memoização guarda, para cada subproblema já resolvido, o resultado calculado, de modo que uma nova chamada com a mesma entrada apenas consulte o valor armazenado. No problema de custo mínimo em uma rede, o subproblema é identificado por um nó (ou estado) e o resultado é o custo mínimo associado a ele.
  2. Logo, a estrutura precisa associar uma chave (identificador do nó/estado, NodeKey) a um valor numérico (custo, Cost). Isso é exatamente um mapa de chave para custo: Map<NodeKey, Cost>, também descrito como dicionário de pares estado->custo.
  3. A alternativa A usa uma lista, que não permite consulta direta pela chave do subproblema, obrigando a percorrê-la e perdendo a eficiência da memoização. A alternativa B guarda strings como valor, mas o resultado de custo mínimo é numérico, não texto. A alternativa C é um conjunto, que só registra presença de chaves e não armazena o custo calculado. A alternativa D inverte chave e valor, tornando o custo a chave e o nó o valor, o que não faz sentido para consulta por subproblema.
  4. Portanto, a alternativa correta é a E, em concordância com o gabarito oficial.

💡 Dica: Associe cada estado do problema à chave e armazene seu custo como valor.

Alternativa por alternativa

A Erradaerro: Conceitual

O aluno pensa que qualquer estrutura de armazenamento serve para guardar resultados, sem perceber que uma lista não oferece acesso direto pela chave do subproblema.

B Erradaerro: Conceitual

O aluno associa a chave ao nó corretamente, mas acredita que o valor guardado pode ser texto, sem considerar que o custo mínimo é um valor numérico.

C Erradaerro: Conceitual

O aluno entende que basta registrar quais nós já foram visitados, sem perceber que a memoização precisa reter o custo calculado para reutilizá-lo.

D Erradaerro: Procedimentala que mais engana

O aluno inverte os papéis de chave e valor, usando o custo como chave e o nó como resultado, o que impede consultar o resultado a partir do subproblema.

Por que engana: Escolher um conjunto ou inverter chave e valor, sem perceber que a memoização precisa localizar cada estado e recuperar o custo correspondente.

E Correta

Um mapa/dicionário armazenando resultados de subproblemas permite reutilizar cálculos entre instâncias e reduzir redundância.

Raio-X da questão

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

Memoização de estados recursivos

📌 Objetivo

avaliacao

🧱 Pré-requisitos

Estruturas de dados associativas · Recursão e estados de problema

📚 Reveja

Revise como mapas associam chaves a valores e armazenam resultados por estado para evitar recomputações.

⚠️ Erro mais comum

Escolher um conjunto ou inverter chave e valor, sem perceber que a memoização precisa localizar cada estado e recuperar o custo correspondente.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

tomada_decisao

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