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
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
mesclagem de listas ordenadas
avaliacao
listas ordenadas · algoritmos de mesclagem
Revisar algoritmos de mesclagem e análise de complexidade.
O aluno pode confundir a mesclagem de listas com a simples concatenação, não mantendo a ordem correta dos elementos.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Um sistema portátil registra a corrente gerada em um eletrodo de trabalho durante um pulso de 4 segundos. Para comparar…
- Em um protótipo computacional que monitora a salinidade de um tanque, dois eletrodos ficam imersos na água e são usados…
- Em uma lavanderia, uma pessoa instala dois eletrodos próximos ao piso, ligados a uma entrada digital de um controlador…
- Em uma demonstração de interface cérebro-computador, eletrodos colocados sobre o couro cabeludo captam sinais elétricos…
- Em um protótipo de interface computacional controlada por sinais musculares, cada canal utiliza um eletrodo para captar…
- Em uma prótese controlada por sinais musculares, eletrodos na pele captam a atividade elétrica e a enviam ao sistema…
🔎 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
