GeraProva GeraProva Provas com IA para professores do Brasil
Computação1ª sérieBNCC EM13CO03Média⏱ medio

Dadas duas listas ordenadas de números, qual algoritmo e estrutura de dados usar para produzir uma única lista…

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

Dadas duas listas ordenadas de números, qual algoritmo e estrutura de dados usar para produzir uma única lista ordenada de forma eficiente (complexidade linear)?

  1. A) Ordenação por inserção (insertion sort) das listas conjuntas.
  2. B) Média entre os elementos das duas listas.
  3. C) Utilizar uma tabela de hash para armazenar os elementos.
  4. D) Remoção de duplicatas antes da intercalação.
  5. E) Intercalação (merge) — usar duas listas ou vetores com ponteiros, comparar cabeças e anexar o menor; complexidade O(n+m).

✅ Resposta correta: alternativa E

Resolução passo a passo

  1. A questão pede um método para juntar duas listas já ordenadas em uma única lista ordenada, com custo linear, ou seja, proporcional ao total de elementos (n+m).
  2. A ideia central é que as duas listas já estão ordenadas. Basta manter um ponteiro em cada lista, comparar os dois elementos que estão nas 'cabeças' e anexar o menor à lista final, avançando o ponteiro daquela lista. Repetindo isso, cada elemento é visitado uma única vez, o que dá complexidade O(n+m).
  3. Esse procedimento é exatamente a intercalação (merge), etapa central do merge sort. A alternativa E descreve corretamente o algoritmo, a estrutura (listas ou vetores com ponteiros) e a complexidade.
  4. Por que as outras estão erradas: A usa insertion sort, que tem custo quadrático no pior caso e não aproveita o fato de as listas já estarem ordenadas; B calcula uma média, o que não produz uma lista ordenada com os mesmos elementos; C usa tabela de hash, que não preserva ordem e exigiria ordenar depois; D remove duplicatas, o que altera o conteúdo da lista e não a ordena.
  5. Conclusão: a resposta correta é a alternativa E, que coincide com o gabarito oficial.

💡 Dica: Considere a técnica de mesclagem de listas ordenadas.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

Acredita que a ordenação por inserção é a forma natural de juntar as listas, sem perceber que ela ignora a ordenação prévia e custa O(n^2) no pior caso.

Por que engana: Escolher a ordenação por inserção, acreditando que é a melhor forma de combinar as listas, sem considerar a eficiência da complexidade.

B Erradaerro: Interpretação

Confunde o problema de combinar listas ordenadas com cálculo de estatística, supondo que a média dos elementos gere uma lista ordenada.

C Erradaerro: Conceitual

Supõe que a tabela de hash resolve qualquer problema de organização de dados com rapidez, sem considerar que ela não mantém ordem.

D Erradaerro: Senso comum

Pensa que eliminar repetições é o passo necessário antes de unir as listas, sem perceber que isso não garante a ordenação do resultado.

E Correta

O algoritmo de merge percorre cada lista uma vez, comparando os elementos atuais e avançando o ponteiro correspondente, evitando reordenação adicional e garantindo tempo linear.

Raio-X da questão

Dificuldade Média
Bloom Aplicar
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

algoritmo de mesclagem

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estruturas de dados · algoritmos de ordenação

📚 Reveja

Revisar algoritmos de ordenação e estruturas de dados.

⚠️ Erro mais comum

Escolher a ordenação por inserção, acreditando que é a melhor forma de combinar as listas, sem considerar a eficiência da complexidade.

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