GeraProva GeraProva Provas com IA para professores do Brasil
Computação2ª sérieBNCC EM13CO03Difícil⏱ medio

Um algoritmo percorre uma lista de n elementos e atualiza um dicionário/hashtable com a frequência de cada…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO03

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

Um algoritmo percorre uma lista de n elementos e atualiza um dicionário/hashtable com a frequência de cada elemento em tempo amortizado constante por atualização. Qual a complexidade temporal assintótica em função de n?

  1. A) Complexidade O(n log n) devido ao uso de dicionários.
  2. B) A complexidade temporal é O(n!) para cada elemento.
  3. C) A complexidade é constante, O(1).
  4. D) O(n)
  5. E) A complexidade temporal é O(n²).

✅ Resposta correta: alternativa D

Resolução passo a passo

  1. O algoritmo percorre uma lista de n elementos, o que exige pelo menos n iterações, uma para cada elemento.
  2. Em cada iteração, a atualização do dicionário/hashtable é feita em tempo amortizado constante, ou seja, cada atualização custa O(1) em média.
  3. Assim, o custo total é a soma de n operações de custo constante, resultando em n * O(1) = O(n).
  4. A alternativa D (O(n)) está correta e coincide com o gabarito oficial.
  5. A alternativa A está errada, pois o log n não aparece: o custo por atualização é constante amortizado, não logarítmico como em uma árvore balanceada.
  6. A alternativa B está errada, pois O(n!) corresponde a enumerar todas as permutações, o que não ocorre em uma simples varredura.
  7. A alternativa C está errada, pois O(1) seria o custo de uma única operação, mas o algoritmo realiza n operações.
  8. A alternativa E está errada, pois O(n²) exigiria comparações aninhadas entre todos os pares de elementos, o que não é descrito no enunciado.

💡 Dica: Considere a relação entre o número de elementos e as operações realizadas.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

O aluno associa o uso de dicionários a estruturas de busca balanceadas, que trabalham com O(log n), e ignora que a hashtable tem acesso médio constante.

Por que engana: Confundir a complexidade de atualização em dicionários com a complexidade total do algoritmo, levando a uma escolha errada.

B Erradaerro: Conceitual

O aluno confunde a varredura de uma lista com a geração de todas as permutações dos elementos, o que cresce fatorialmente.

C Erradaerro: Interpretação

O aluno considera apenas o custo de uma atualização e esquece que o algoritmo repete essa operação para todos os n elementos.

D Correta

Cada um dos n elementos é processado exatamente uma vez e cada atualização no dicionário leva tempo amortizado O(1), portanto o tempo total cresce linearmente com n.

E Erradaerro: Interpretação

O aluno supõe que há comparações aninhadas entre todos os elementos, como em um laço duplo, quando o enunciado descreve apenas uma passagem pela lista.

Raio-X da questão

Dificuldade Difícil
Bloom Analisar
Leitura alto
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🧩 desafio
🎯 Conceito central

complexidade temporal

📌 Objetivo

avaliacao

🧱 Pré-requisitos

complexidade temporal · análise de algoritmos

📚 Reveja

Revisar conceitos de complexidade de algoritmos e estruturas de dados.

⚠️ Erro mais comum

Confundir a complexidade de atualização em dicionários com a complexidade total do algoritmo, levando a uma escolha errada.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

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.