Em um algoritmo que mescla duas listas ordenadas, qual subtarefa — envolvendo variáveis de índice — garante…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Criar soluções de problemas para os quais seja adequado o uso de registros e matrizes unidimensionais para descrever suas informações e automatizá-las usando uma linguagem de programação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em um algoritmo que mescla duas listas ordenadas, qual subtarefa — envolvendo variáveis de índice — garante que a ordem estável permaneça e que não ocorra acesso fora dos limites?
- A) Comparar e inserir elementos de forma aleatória nas listas.
- B) Gerir e atualizar índices das listas na subtarefa de mesclagem, tratando o esgotamento de uma lista e comparando elementos antes de inserir.
- C) Manter um único índice para ambas listas, evitando comparações.
- D) Atualizar índices de uma lista apenas, ignorando a outra.
- E) Usar índices fixos, sem controlar a atualização durante a mesclagem.
✅ Resposta correta: alternativa B
Resolução passo a passo
- No merge de duas listas ordenadas, mantém-se um índice para cada lista (i na primeira, j na segunda) e um índice de saída k, que indica onde o próximo elemento será gravado.
- Em cada iteração, compara-se o elemento atual de uma lista com o da outra e insere-se o menor (ou, em caso de empate, o da lista da esquerda, o que preserva a estabilidade). Depois da inserção, avança-se apenas o índice da lista de onde o elemento saiu.
- Quando uma das listas se esgota (i chega ao fim ou j chega ao fim), os elementos restantes da outra lista são copiados diretamente, sem novas comparações. Esse tratamento impede acesso fora dos limites.
- Logo, a alternativa B descreve exatamente a subtarefa correta: gerenciar e atualizar os índices, comparar antes de inserir e tratar o esgotamento de uma lista.
- A alternativa A está errada porque inserção aleatória destrói a ordem e a estabilidade. A alternativa C está errada porque um único índice não consegue percorrer duas listas independentes. A alternativa D está errada porque ignorar uma das listas deixa elementos de fora. A alternativa E está errada porque índices fixos não avançam e geram laço infinito ou resultado incorreto.
💡 Dica: Analise as variáveis de índice e sua relação com a ordem das listas.
Alternativa por alternativa
Acredita que mesclar significa misturar elementos ao acaso, sem depender da ordem das listas já ordenadas.
Manter e atualizar índices (ponteiros) evita acessos fora dos limites e preserva ordenação estável ao comparar elementos e avançar corretamente em cada lista.
Supõe que um único índice basta para percorrer duas listas, eliminando a necessidade de comparar elementos de cada uma.
Por que engana: O aluno pode confundir a necessidade de atualizar índices corretamente com a ideia de usar índices fixos, levando a erros na mesclagem.
Imagina que avançar o índice de apenas uma lista é suficiente, sem perceber que os elementos da outra precisam ser processados.
Pensa que índices fixos funcionam porque o algoritmo apenas compara posições fixas, sem entender que os índices precisam avançar a cada inserção.
Raio-X da questão
mescla de listas ordenadas
avaliacao
listas ordenadas · variáveis de índice
Revisar algoritmos de mesclagem e manipulação de índices.
O aluno pode confundir a necessidade de atualizar índices corretamente com a ideia de usar índices fixos, levando a erros na mesclagem.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Projete um algoritmo em pseudocódigo que mescle duas listas ordenadas (A e B) em uma única lista ordenada crescente…
- Dadas duas listas ordenadas de números, qual algoritmo e estrutura de dados usar para produzir uma única lista ordenada…
- Escreva em pseudocódigo um algoritmo que una duas listas ordenadas de números (listaA e listaB) em uma única lista…
- Qual é o algoritmo clássico mais comum para inserir um elemento em uma lista ordenada, mantendo sua ordenação?
- Uma plataforma de serviços públicos precisa organizar, em ordem crescente de protocolo, uma lista de registros que pode…
- Em uma indústria de logística, um software recebe uma lista de códigos de itens e precisa ordená-los. Observando o passo…
Todas as questões de Programação - Programação usando registros e matrizes
🔎 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
