GeraProva GeraProva Provas com IA para professores do Brasil
Computação2º anoBNCC EF15CO01Média⏱ medio

Dada uma lista de dados com repetições, qual método preservando a ordem dos primeiros aparecimentos tem…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF15CO01

Identificar as principais formas de organizar e representar a informação de maneira estruturada (matrizes, registros, listas e grafos) ou não estruturada (números, palavras, valores verdade).

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Dada uma lista de dados com repetições, qual método preservando a ordem dos primeiros aparecimentos tem complexidade média linear? Cite a estrutura usada e o procedimento curto (use termos hash ou conjunto).

  1. A) Um array fixo que descarta elementos repetidos conforme aparecem.
  2. B) Um conjunto ordenado, que armazena elementos em ordem crescente.
  3. C) Um vetor dinâmico que permite a duplicação de elementos.
  4. D) Usar uma lista ligada para armazenar todos os elementos sem duplicatas.
  5. E) Usar um conjunto (hash set) para rastrear elementos vistos e construir uma nova lista adicionando apenas elementos não vistos; complexidade média O(n).

✅ Resposta correta: alternativa E

Resolução passo a passo

  1. O problema pede remover duplicatas de uma lista mantendo a ordem da primeira aparição, com complexidade média linear. Passo 2: Verificar cada elemento percorrendo a lista já construída custa O(n^2), porque cada checagem percorre uma parte da lista. Passo 3: Um conjunto baseado em hash (hash set) permite verificar se um elemento já foi visto em tempo médio constante, O(1). Passo 4: Basta percorrer a lista original uma única vez: para cada elemento, consulta-se o conjunto; se ele não estiver, adiciona-se ao conjunto e à nova lista; se já estiver, descarta-se. Passo 5: Como são n elementos, cada um com custo médio O(1), o total é O(n) em média. A ordem é preservada porque a nova lista é montada na ordem de leitura. Passo 6: A alternativa A está errada, pois um array fixo não guarda o histórico de elementos vistos e não identifica repetições sem uma busca. Passo 7: A alternativa B está errada, pois um conjunto ordenado reorganiza os elementos em ordem crescente, perdendo a ordem original, e cada operação custa O(log n). Passo 8: A alternativa C está errada, pois um vetor dinâmico apenas cresce ao ser preenchido e não remove duplicatas. Passo 9: A alternativa D está errada, pois uma lista ligada sem controle dos vistos exige percorrer a lista inteira para detectar repetições, resultando em O(n^2). Passo 10: Portanto, o gabarito E está correto e é a única alternativa que combina estrutura de busca rápida com a construção ordenada da nova lista.

💡 Dica: Considere o uso de um conjunto para armazenar os elementos únicos.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

Acredita que basta descartar repetidos conforme aparecem, sem uma estrutura auxiliar que registre o que já foi visto.

Por que engana: Confundir a utilização de um vetor dinâmico com a preservação da ordem dos elementos, levando a uma solução ineficiente.

B Erradaerro: Interpretação

Confunde a exigência de preservar a ordem dos primeiros aparecimentos com ordenação, achando que a solução é reordenar os elementos.

C Erradaerro: Interpretação

Interpreta o termo dinâmico como solução para repetições, sem perceber que permitir duplicação é justamente o problema a ser evitado.

D Erradaerro: Procedimental

Acha que usar uma lista ligada já elimina duplicatas e não percebe que verificar repetição exige percorrer a lista inteira a cada elemento.

E Correta

A verificação de existência num hash set é O(1) em média; assim percorre-se a lista uma vez e mantém-se a ordem dos primeiros aparecimentos enquanto elimina duplicatas.

Raio-X da questão

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

método hash

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estruturas de dados · complexidade de algoritmos

📚 Reveja

Revisar conceitos de estruturas de dados e complexidade de algoritmos.

⚠️ Erro mais comum

Confundir a utilização de um vetor dinâmico com a preservação da ordem dos elementos, levando a uma solução ineficiente.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Listas e grafos

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