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

Projete um algoritmo em pseudocódigo que mescle duas listas ordenadas (A e B) em uma única lista ordenada…

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

Projete um algoritmo em pseudocódigo que mescle duas listas ordenadas (A e B) em uma única lista ordenada crescente. Explique como sua solução manipula variáveis e nós/registros e analise a complexidade temporal e espacial, considerando listas encadeadas e vetores.

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Resposta modelo (sintética): 1) Listas encadeadas — reutilizando nós: pa?A.cabeça; pb?B.cabeça; head?null; tail?null while pa?null and pb?null: if pa.valor=pb.valor: node?pa; pa?pa.next else: node?pb; pb?pb.next if head==null: head?node; tail?node else: tail.next?node; tail?node if pa?null: tail.next?pa if pb?null: tail.next?pb Variáveis: pa,pb,head,tail são ponteiros; ajuste de next reaproveita nós. Tempo: O(n+m). Espaço extra: O(1) (apenas ponteiros). 2) Vetores — criando novo vetor C de tamanho n+m: i?0;j?0;k?0 while i<n and j<m: C[k++]? (A[i]=B[j] ? A[i++] : B[j++]) copy restante Variáveis: índices i,j,k; usa-se espaço adicional O(n+m). Tempo: O(n+m).

Explicação

A solução apresentada para listas encadeadas utiliza ponteiros para percorrer e mesclar as listas sem a necessidade de alocar novos nós, garantindo eficiência em espaço. Para vetores, a abordagem cria um novo vetor que armazena os elementos mesclados, utilizando índices para controlar a posição, o que é adequado para listas de tamanho fixo. Ambas as implementações têm complexidade temporal O(n+m), mas diferem em complexidade espacial, sendo O(1) para listas encadeadas e O(n+m) para vetores.

Raio-X da questão

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

mesclagem de listas ordenadas

📌 Objetivo

avaliacao

🧱 Pré-requisitos

listas ordenadas · algoritmos de mesclagem

📚 Reveja

Revisar algoritmos de mesclagem e análise de complexidade.

⚠️ Erro mais comum

O aluno pode confundir a mesclagem de listas com a simples concatenação, não mantendo a ordem correta dos elementos.

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