Ao desenvolver algoritmos de ordenação para sistemas que pr...

Próximas questões
Com base no mesmo assunto
Q3907822 Algoritmos e Estrutura de Dados
Ao desenvolver algoritmos de ordenação para sistemas que processam grandes volumes de dados heterogêneos, a estabilidade é um critério técnico fundamental para preservar a ordem relativa de elementos com chaves idênticas. No contexto do algoritmo Timsort (Algoritmo de Ordenação Híbrido), que é o padrão em diversas linguagens modernas, a eficiência é alcançada através da identificação de sequências de dados já ordenadas. Considerando o funcionamento interno deste algoritmo para a otimização de recursos de memória e tempo, assinale a alternativa correta.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: D

Fundamento decisivo: O decisivo era a definição técnica do Timsort apresentada na base: um algoritmo estável que identifica runs naturais/ordenadas e as intercala de forma adaptativa, com pior caso O(nlogn). Isso torna correta a alternativa D.

Tema central: Características do Timsort
Análise das alternativas
A
Errada
Está errada por erro de classificação: afirma que o Timsort é instável, mas a base afirma expressamente que ele é estável. Portanto, contraria uma característica fundamental do algoritmo.
B
Errada
Está errada porque confunde a existência de uma pilha de runs com eliminação de memória auxiliar no merge. Segundo a base, a fase de intercalação do Timsort não elimina memória auxiliar; logo, a afirmação sobre dispensar memória auxiliar não se sustenta.
C
Errada
Está errada porque atribui à detecção de runs uma condição operacional que não define o algoritmo: ultrapassar a cache L1. Pela base, a identificação de runs é uma estratégia de adaptatividade aos dados de entrada, não algo aplicado exclusivamente por causa desse limite de hardware.
D
Certa
A alternativa D está correta porque descreve os elementos essenciais do Timsort segundo sua definição técnica consagrada: identificação de runs naturais/ordenadas e intercalação adaptativa. Além disso, a alternativa preserva a garantia assintótica indicada na base, que é pior caso O(nlogn). Esse é o conjunto de características que sustenta tecnicamente o algoritmo cobrado na questão.
Pegadinha da questão
A questão explorou confusões reais entre adaptatividade e instabilidade, entre uso de pilha de runs e ausência de memória auxiliar no merge, e entre característica algorítmica e jargão de hardware como cache L1.
Dica para questões semelhantes
  • Se a alternativa trouxer runs ordenadas, estabilidade e intercalação adaptativa com pior caso O(nlogn), ela está alinhada ao núcleo do Timsort.
  • Não conclua que um algoritmo é in-place ou que dispensa memória auxiliar só porque usa pilha ou evita certa forma de recursão.
  • Descarte como suspeita qualquer descrição que transforme detalhe de hardware, como cache L1, em critério definidor do funcionamento do algoritmo.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo