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

Para detectar duplicatas em uma matriz de registros 'dados' onde cada registro tem uma chave 'id', qual…

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 detectar duplicatas em uma matriz de registros 'dados' onde cada registro tem uma chave 'id', qual estrutura de dados e operação permitem identificar duplicatas em tempo médio linear?

  1. A) Usar um dicionário com chave duplicada
  2. B) Usar um vetor e ordem de inserções
  3. C) Usar uma lista ordenada e pesquisa binária
  4. D) Usar uma matriz de booleanos para cada possível id
  5. E) Usar um conjunto (hash set) das chaves: para cada registro, se id estiver no conjunto então é duplicata; senão inserir id no conjunto.

✅ Resposta correta: alternativa E

Resolução passo a passo

  1. A questão pede uma estrutura e uma operação que permitam identificar duplicatas com tempo médio linear, ou seja, o custo total deve crescer proporcionalmente ao número de registros n.
  2. Ao percorrer a lista de registros uma única vez, precisamos checar, para cada id, se ele já apareceu antes. Essa checagem precisa ser rápida, em tempo médio constante.
  3. Um conjunto implementado com tabela hash oferece inserção e pesquisa em tempo médio constante. Assim, para cada registro, verificamos se o id está no conjunto: se estiver, é duplicata; se não estiver, inserimos o id. Como são n registros, cada um com custo médio constante, o total é linear no tempo médio.
  4. Por que as outras estão erradas: A) um dicionário não admite chaves duplicadas, então essa ideia não serve para detectar repetições dessa forma. B) um vetor com busca sequencial exige percorrer os elementos já inseridos a cada registro, resultando em tempo quadrático. C) ordenar a lista custa tempo n log n e a pesquisa binária é logarítmica por registro, então o total não é linear. D) a matriz de booleanos tem acesso constante, mas exige que os ids sejam inteiros pequenos e de faixa conhecida, o que não é garantido por um registro com chave genérica.
  5. Conclusão: a alternativa correta é a E, que coincide com o gabarito oficial.

💡 Dica: Considere as estruturas de dados que permitem operações eficientes de busca.

Alternativa por alternativa

A Erradaerro: Conceitual

Acredita que um dicionário pode armazenar chaves repetidas e assim revelar duplicatas diretamente. Na verdade, dicionários não admitem chaves duplicadas e a repetição simplesmente sobrescreve o valor anterior.

B Erradaerro: Procedimental

Imagina que basta guardar os registros em um vetor na ordem de inserção e conferir, a cada novo registro, todos os anteriores. Essa busca sequencial percorre até n elementos por registro, o que leva a tempo quadrático e não linear.

C Erradaerro: Procedimentala que mais engana

Considera que a pesquisa binária é sempre rápida e esquece o custo de manter a lista ordenada. Ordenar exige tempo n log n e a pesquisa binária é logarítmica por registro, então o total não é linear.

Por que engana: Escolher uma estrutura de dados que não permite inserção e verificação em tempo linear, como listas ou matrizes.

D Erradaerro: Conceitual

Entende que o acesso direto a uma matriz de booleanos é suficiente para qualquer caso, sem considerar o universo de valores possíveis. Essa solução só funciona se os ids forem inteiros pequenos e de faixa conhecida, o que o enunciado não garante.

E Correta

Um hash set oferece operações de inserção e consulta em tempo médio O(1), permitindo detectar duplicatas em O(n) no total.

Raio-X da questão

Dificuldade Difícil
Bloom Avaliar
Leitura medio
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

detecção de duplicatas

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estruturas de dados · complexidade de algoritmos

📚 Reveja

Revisar estruturas de dados e suas operações de busca.

⚠️ Erro mais comum

Escolher uma estrutura de dados que não permite inserção e verificação em tempo linear, como listas ou matrizes.

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