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

Para eliminar duplicatas de um vetor de n registros usando uma estrutura de busca baseada em hashing…

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

Para eliminar duplicatas de um vetor de n registros usando uma estrutura de busca baseada em hashing (conjunto), qual complexidade média se espera para o processo?

  1. A) O(1) — sempre serão necessárias operações mínimas para eliminar duplicatas.
  2. B) O(log n) — a complexidade é proporcional ao logaritmo do número de registros.
  3. C) O(n log n) — precisamos ordenar o vetor antes de eliminar duplicatas.
  4. D) O(n) em média — cada inserção/verificação é amortizada O(1).
  5. E) O(n²) — como cada elemento deve ser comparado com todos os outros.

✅ Resposta correta: alternativa D

Resolução passo a passo

  1. Um conjunto baseado em hashing (tabela hash) permite verificar se um registro já existe e inseri-lo em tempo médio constante, ou seja, O(1) por operação.
  2. Como o vetor tem n registros, percorremos cada um uma única vez, fazendo uma verificação e possivelmente uma inserção no conjunto para cada um.
  3. Logo, o custo total médio é n vezes O(1), resultando em O(n) em média. Isso corresponde à alternativa D, que é também o gabarito oficial.
  4. A alternativa A está errada porque O(1) é o custo de uma única operação, não do processo inteiro, que envolve n registros.
  5. A alternativa B está errada porque O(log n) é típico de estruturas como árvores balanceadas, não de tabelas hash com acesso médio constante.
  6. A alternativa C está errada porque ordenar antes exigiria O(n log n), mas o uso de hashing dispensa a ordenação.
  7. A alternativa E está errada porque comparar cada elemento com todos os outros seria a abordagem ingênua, que o hashing evita.
  8. Observação: a complexidade média assume boa distribuição das chaves e função hash adequada; no pior caso, colisões podem degradar a operação para O(n) por inserção, levando a O(n²) no total, mas isso não é o caso médio esperado.

💡 Dica: Considere as propriedades de estruturas de dados e suas complexidades.

Alternativa por alternativa

A Erradaerro: Conceitual

Confunde o custo de uma única operação em tabela hash com o custo total do processo, que depende de n registros processados.

B Erradaerro: Conceitual

Associa qualquer estrutura de busca eficiente ao logaritmo, aplicando o padrão de árvores balanceadas a uma tabela hash.

C Erradaerro: Procedimentala que mais engana

Acredita que é necessário ordenar o vetor antes de remover duplicatas, copiando a abordagem clássica por ordenação e ignorando que o conjunto dispensa essa etapa.

Por que engana: Confundir a complexidade média de operações de inserção em uma tabela hash com a complexidade de ordenação de um vetor.

D Correta

Usando um conjunto (hash set), cada verificação/inserção tem custo médio constante, totalizando tempo linear sobre n.

E Erradaerro: Senso comum

Imagina que cada registro precisa ser comparado com todos os demais, o que descreve a busca por força bruta e não o uso de hashing, onde a verificação é direta pela chave.

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 de algoritmos

📌 Objetivo

avaliacao

🧱 Pré-requisitos

complexidade de algoritmos · hashing e estruturas de dados

📚 Reveja

Revisar conceitos de complexidade média em estruturas de dados.

⚠️ Erro mais comum

Confundir a complexidade média de operações de inserção em uma tabela hash com a complexidade de ordenação de um vetor.

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