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

Considere uma lista ligada não ordenada com n elementos. Qual estratégia que usa uma estrutura auxiliar…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF15CO02

Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Considere uma lista ligada não ordenada com n elementos. Qual estratégia que usa uma estrutura auxiliar permite remover todas as duplicatas em tempo O(n) esperado, e qual a complexidade de espaço adicional?

  1. A) Usar um conjunto (hash set) para rastrear valores vistos; percorrer a lista removendo nós duplicados: tempo O(n) esperado e espaço adicional O(n).
  2. B) Ordenar a lista e então eliminar duplicatas: tempo O(n), espaço O(1).
  3. C) Usar um bitset com espaço O(1) e tempo O(n) para quaisquer valores.
  4. D) Remover duplicatas sem estrutura auxiliar em O(n) tempo e O(1) espaço.
  5. E) Construir uma árvore balanceada e deduplicar em O(n) tempo, O(n) espaço.

✅ Resposta correta: alternativa A

Resolução passo a passo

  1. A questão pergunta qual estratégia com estrutura auxiliar remove todas as duplicatas em tempo O(n) esperado, e qual o espaço adicional necessário.
  2. Resolvendo por conta própria, percorremos a lista uma única vez. Para cada nó, consultamos um conjunto (hash set) que guarda os valores já vistos. Se o valor já estiver no conjunto, o nó é duplicado e é removido ajustando um ponteiro; caso contrário, o valor é inserido no conjunto.
  3. Cada operação de inserção e consulta em hash set custa O(1) em média, então o tempo total é O(n) esperado. O conjunto pode conter até n valores distintos, logo o espaço adicional é O(n).
  4. Assim, a alternativa A descreve exatamente a estratégia e a complexidade pedidas, coincidindo com o gabarito oficial.
  5. A alternativa B está errada, pois ordenar uma lista ligada custa mais que O(n) (em geral O(n log n)), e o espaço não é O(1) no caso geral considerado.
  6. A alternativa C está errada, pois um bitset só funciona para valores inteiros pequenos e limitados, não para quaisquer valores.
  7. A alternativa D está errada, pois a questão exige justamente uma estrutura auxiliar; sem ela, remover duplicatas de uma lista não ordenada exige tempo quadrático.
  8. A alternativa E está errada, pois construir uma árvore balanceada leva O(n log n) e não há benefício de tempo O(n) para deduplicar dessa forma.

💡 Dica: Considere a utilização de uma tabela hash para armazenar elementos únicos.

Alternativa por alternativa

A Correta

Ao verificar cada valor no hash set antes de manter o nó, cada elemento é processado uma vez; operações de hash são amortizadas O(1), resultando em tempo linear e necessidade de armazenar até n valores no conjunto.

B Erradaerro: Conceituala que mais engana

Acredita que ordenar a lista é uma etapa barata e que, depois de ordenada, a remoção de duplicatas é linear e sem custo de espaço. Ignora que ordenar uma lista ligada custa O(n log n).

Por que engana: Confundir a complexidade de tempo e espaço ao usar uma abordagem ineficiente para remover duplicatas, como ordenar a lista.

C Erradaerro: Conceitual

Supõe que um bitset funciona para qualquer tipo de valor com espaço O(1), esquecendo que bitsets exigem valores inteiros pequenos e limitados, cujo espaço cresce com o intervalo de valores.

D Erradaerro: Procedimental

Acha que é possível remover duplicatas de uma lista não ordenada em O(n) sem estrutura auxiliar, pois não percebe que comparar cada nó com os anteriores exige percorrimentos repetidos, resultando em tempo quadrático.

E Erradaerro: Procedimental

Imagina que construir uma árvore balanceada permite deduplicar em O(n), ignorando que a construção e as inserções custam O(n log n) e que a alternativa não corresponde à estratégia de hash set pedida.

Raio-X da questão

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

listas ligadas e duplicatas

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estruturas de dados · complexidade de algoritmos

📚 Reveja

Revisar conceitos de listas ligadas e estruturas auxiliares como tabelas hash.

⚠️ Erro mais comum

Confundir a complexidade de tempo e espaço ao usar uma abordagem ineficiente para remover duplicatas, como ordenar a lista.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

tomada_decisao

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Algoritmos

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