Em uma atividade, Lara recebeu uma lista de números quase ordenada. Ela quer usar um algoritmo que percorra a…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Criar algoritmos fazendo uso da decomposição e do reúso no processo de solução de forma colaborativa e cooperativa e automatizá-los usando uma linguagem de programação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em uma atividade, Lara recebeu uma lista de números quase ordenada. Ela quer usar um algoritmo que percorra a lista e, a cada passo, coloque o próximo número na posição correta entre os números que já foram organizados. Qual algoritmo corresponde melhor ao funcionamento descrito?
- A) Mergesort
- B) Bubble sort
- C) Selection sort
- D) Quicksort
- E) Insertion sort
✅ Resposta correta: alternativa E
Resolução passo a passo
- O enunciado descreve um algoritmo que percorre a lista e, a cada passo, pega o próximo número e o coloca na posição correta entre os números já organizados, ou seja, uma parte da lista fica ordenada e cresce a cada passo.
- Esse é o funcionamento do Insertion sort (ordenação por inserção). Ele trata o início da lista como já ordenada e insere cada elemento seguinte no lugar certo dessa parte ordenada, deslocando os maiores para a direita. Como a lista está quase ordenada, poucas trocas e deslocamentos são necessários, o que torna o método eficiente nesse caso.
- Por que as outras alternativas não correspondem: o Mergesort divide a lista em metades, ordena cada metade e depois intercala as partes, sem inserir elemento por elemento; o Bubble sort compara pares vizinhos e troca de lugar, empurrando o maior valor para o fim, sem inserir na posição correta; o Selection sort procura o menor elemento do restante e o coloca no início da parte não ordenada, em vez de inserir o próximo número entre os já organizados; o Quicksort escolhe um pivô e particiona a lista em menores e maiores, não fazendo inserções sucessivas.
- Conclusão: a alternativa correta é a E, Insertion sort, que coincide com o gabarito oficial.
💡 Dica: Considere as características dos algoritmos de ordenação.
Alternativa por alternativa
O aluno pode associar a ideia de organizar partes menores e juntá-las ao processo de intercalar elementos já ordenados, confundindo a fusão de duas listas ordenadas com a inserção de um elemento por vez.
Por que engana: Escolher um algoritmo de ordenação menos eficiente para grandes listas, sem considerar a complexidade temporal.
O aluno pode pensar que basta percorrer a lista e trocar elementos vizinhos para colocá-los em ordem, sem perceber que o Bubble sort não escolhe a posição correta do próximo número, apenas faz trocas repetidas entre pares adjacentes.
O aluno pode confundir a seleção do menor elemento e sua colocação no início com a inserção do próximo número na posição correta da parte já ordenada, não percebendo que o Selection sort não insere, e sim escolhe o mínimo do restante.
O aluno pode associar o algoritmo à ideia de organizar elementos em relação a um valor de referência, sem perceber que o Quicksort particiona a lista em torno de um pivô e não insere cada número na posição correta sucessivamente.
O Insertion sort organiza a lista aos poucos: considera um novo elemento e o insere na posição correta dentro da parte que já está ordenada. Esse funcionamento é adequado para listas que já estão quase ordenadas.
Raio-X da questão
algoritmos de ordenação
avaliacao
algoritmos de ordenação · complexidade de algoritmos
Revisar os principais algoritmos de ordenação e suas aplicações.
Escolher um algoritmo de ordenação menos eficiente para grandes listas, sem considerar a complexidade temporal.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Na aula de Computação, Pedro precisa organizar uma lista quase ordenada de nomes em pseudocódigo. Qual algoritmo…
- Considere um algoritmo que ordena uma lista de números. Qual o resultado esperado ao aplicar esse algoritmo?
- Durante uma oficina de programação, uma turma precisa ordenar cartas numeradas em ordem crescente. O procedimento…
- Descreva um algoritmo que classifique uma lista de números inteiros em ordem crescente.
- Descreva um algoritmo que organize uma lista de números inteiros em ordem crescente. Quais estruturas de dados você…
- Qual é o algoritmo clássico utilizado para ordenar uma lista de números em ordem crescente?
Todas as questões de Estratégias de solução de problemas - Reúso
🔎 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
