Ao implementar um algoritmo de ordenação para uma matriz 'alunos' primeiro por 'nota' e em seguida por 'nome'…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Utilizar algoritmos clássicos de manipulação sobre listas.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Ao implementar um algoritmo de ordenação para uma matriz 'alunos' primeiro por 'nota' e em seguida por 'nome' sem perder a ordenação anterior, que propriedade do algoritmo de ordenação deve ser garantida?
- A) Escolher qualquer algoritmo de ordenação ineficiente (O(n^2)).
- B) Usar um algoritmo de ordenação aleatória.
- C) Usar um algoritmo de ordenação estável (estabilidade na ordenação).
- D) Utilizar uma tabela hash para armazenar as notas.
- E) Implementar um algoritmo que ordena apenas por nota.
✅ Resposta correta: alternativa C
Resolução passo a passo
- A questão pergunta qual propriedade o algoritmo de ordenação precisa ter para que, ao ordenar primeiro por 'nota' e depois por 'nome', a ordenação anterior (por nota) não seja perdida.
- Ao ordenar pelo nome na segunda etapa, elementos com o mesmo nome mantêm a ordem relativa que tinham após a primeira ordenação. Assim, dentro de cada nome, a ordenação por nota continua preservada. Essa garantia chama-se estabilidade.
- Portanto, a alternativa correta é a C, pois um algoritmo estável (como a ordenação por inserção, merge sort ou bubble sort com comparação estrita) preserva a ordem relativa de chaves iguais.
- A alternativa A está errada, pois a complexidade O(n^2) é uma característica de desempenho que não garante preservação da ordem anterior, e algoritmos ineficientes não são exigidos pelo problema.
- A alternativa B está errada, pois ordenação aleatória não organiza os dados por critério algum, e portanto não cumpre o objetivo de ordenar por nota e por nome.
- A alternativa D está errada, pois tabela hash é uma estrutura de busca e não um critério de ordenação, além de não resolver a questão de manter a ordem relativa.
- A alternativa E está errada, pois ordenar apenas por nota ignora a segunda ordenação exigida pelo enunciado, que é por nome.
💡 Dica: Considere as propriedades dos algoritmos de ordenação estável.
Alternativa por alternativa
O aluno acredita que a eficiência ruim (O(n^2)) é o que garante manter a ordenação anterior, confundindo complexidade de tempo com a propriedade de preservar a ordem relativa.
Por que engana: Escolher um algoritmo de ordenação que não garante a estabilidade, resultando na perda da ordem original dos elementos com notas iguais.
O aluno imagina que a ordenação aleatória poderia manter a ordem anterior, sem perceber que ela não segue nenhum critério e destrói a organização previamente feita.
Um algoritmo estável preserva a ordem relativa de registros com chaves iguais, permitindo ordenações por múltiplos critérios aplicadas em sequência.
O aluno confunde estruturas de dados de busca (tabela hash) com algoritmos de ordenação, achando que armazenar as notas em hash resolveria a ordenação em dois critérios.
O aluno lê apenas a parte inicial do enunciado sobre ordenar por nota e ignora que a questão exige uma segunda ordenação por nome preservando a primeira.
Raio-X da questão
algoritmo de ordenação estável
avaliacao
algoritmo de ordenação · estabilidade na ordenação
Revisar as propriedades dos algoritmos de ordenação, especialmente a estabilidade.
Escolher um algoritmo de ordenação que não garante a estabilidade, resultando na perda da ordem original dos elementos com notas iguais.
ciencia_tecnologia
tomada_decisao
abstrato
Questões parecidas com resolução
- Ao ordenar todos os registros de uma matriz por campo 'nome' e preservar a ordem relativa entre registros com o mesmo…
- Ao implementar num algoritmo a ordenação de uma matriz de registros 'tarefas' por campo 'prioridade', que propriedade do…
- Descreva um algoritmo para ordenar uma lista de alunos por nota. Inclua os passos que deveriam ser tomados para garantir…
- Descreva um algoritmo que ordene uma lista de notas de alunos em ordem crescente. Quais passos são necessários para…
- Ao generalizar um algoritmo de ordenação para aceitar critérios distintos, que tipo de variável deve ser passada como…
- Em sala de informática, uma aluna precisa construir um programa que organize uma lista de nomes de alunos em ordem…
🔎 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
