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
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).
- A) Um array fixo que descarta elementos repetidos conforme aparecem.
- B) Um conjunto ordenado, que armazena elementos em ordem crescente.
- C) Um vetor dinâmico que permite a duplicação de elementos.
- D) Usar uma lista ligada para armazenar todos os elementos sem duplicatas.
- 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
- 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
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.
Confunde a exigência de preservar a ordem dos primeiros aparecimentos com ordenação, achando que a solução é reordenar os elementos.
Interpreta o termo dinâmico como solução para repetições, sem perceber que permitir duplicação é justamente o problema a ser evitado.
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.
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
método hash
avaliacao
estruturas de dados · complexidade de algoritmos
Revisar conceitos de estruturas de dados e complexidade de algoritmos.
Confundir a utilização de um vetor dinâmico com a preservação da ordem dos elementos, levando a uma solução ineficiente.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Projete um algoritmo em linguagem descritiva que, dado um grafo ponderado dirigido cujas arestas representam tempos de…
- Explique como você organizaria uma lista de tarefas diárias, mencionando como as prioridades podem influenciar a…
- Antes de ir à feira, Bia anotou: pão, bananas e sabonete. Que objeto do dia a dia é esse e como Bia pode mudar a ordem…
- No mapa da sala, há círculos para a porta, a mesa da professora, a estante e o quadro. As linhas ligam porta-mesa…
- — A mensagem não chegou ao abrigo do bairro Serra — avisou uma moradora pelo rádio comunitário. Após a enchente, a…
- — O painel da praça ficou cheio de bilhetes sobre lâmpadas apagadas — observou Caio, voluntário do bairro. Em cada…
🔎 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
