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

Ao processar n registros e contar a frequência de um campo usando um dicionário (map) com acesso esperado…

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

Ao processar n registros e contar a frequência de um campo usando um dicionário (map) com acesso esperado O(1), qual é a complexidade temporal esperada do algoritmo de contagem em função de n?

  1. A) Complexidade O(n log n) devido ao custo de atualizar o dicionário.
  2. B) Tempo linear esperado: O(n).
  3. C) Complexidade O(1) (tempo constante independentemente de n).
  4. D) Complexidade O(n^2) por causa de comparações entre registros.
  5. E) Complexidade O(log n) pois cada busca no dicionário é logarítmica.

✅ Resposta correta: alternativa B

Resolução passo a passo

  1. O algoritmo percorre cada um dos n registros uma única vez. Para cada registro, lê o valor do campo e atualiza a contagem no dicionário.
  2. Como o acesso (busca e atualização) ao dicionário é O(1) em média, cada atualização custa tempo constante, independentemente do tamanho do dicionário.
  3. Assim, o custo total é a soma de n operações de custo constante, ou seja, O(n) em tempo esperado, que é tempo linear.
  4. A alternativa A está errada, pois o log n só apareceria em estruturas de árvore balanceada, não em um dicionário com acesso O(1).
  5. A alternativa C está errada, pois o tempo não é constante, já que cresce com a quantidade de registros que precisam ser processados.
  6. A alternativa D está errada, pois não há comparações entre pares de registros; cada registro é processado independentemente.
  7. A alternativa E está errada, pois a busca em tabela hash com acesso O(1) não é logarítmica; o log n apareceria apenas em buscas binárias ou árvores.
  8. Conclusão: o gabarito B está correto, pois a complexidade temporal esperada é O(n).

💡 Dica: Considere uma atualização de custo esperado O(1) para cada um dos n registros.

Alternativa por alternativa

A Erradaerro: Conceitual

O aluno acredita que toda atualização em estrutura de dados custa O(log n), misturando o dicionário com árvores balanceadas ou com ordenação.

B Correta

Cada um dos n registros é lido uma vez e realiza-se uma operação de leitura/atualização no dicionário em tempo constante esperado; portanto o custo total cresce linearmente com n.

C Erradaerro: Interpretação

O aluno confunde o custo de uma única operação no dicionário, que é O(1), com o custo total do algoritmo, que precisa processar todos os n registros.

D Erradaerro: Procedimental

O aluno imagina que contar frequências exige comparar cada registro com todos os outros, como em algoritmos de busca de pares, e não percebe que o dicionário evita essas comparações.

E Erradaerro: Conceituala que mais engana

O aluno associa qualquer estrutura de busca ao tempo logarítmico, esquecendo que tabelas hash têm acesso médio constante.

Por que engana: Confundir o custo esperado O(1) de cada acesso ao dicionário com a complexidade total, ou supor que a contagem exige ordenar ou comparar todos os registros entre si.

Raio-X da questão

Dificuldade Fácil
Bloom Aplicar
Leitura baixo
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🧩 abertura
🎯 Conceito central

Complexidade temporal de contagem

📌 Objetivo

avaliacao

🧱 Pré-requisitos

Notação assintótica Big O · Operações em dicionários hash

📚 Reveja

Revise análise de complexidade e o custo esperado de operações em tabelas hash.

⚠️ Erro mais comum

Confundir o custo esperado O(1) de cada acesso ao dicionário com a complexidade total, ou supor que a contagem exige ordenar ou comparar todos os registros entre si.

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