Algoritmos de ordenação por comparação são aqueles em que a ...
Algoritmos de ordenação por comparação são aqueles em que a ordem dos elementos na solução é determinada exclusivamente por meio da comparação entre elementos da entrada. Tais algoritmos são necessários quando não se sabe nenhuma outra informação sobre a entrada (como por exemplo, o maior elemento ou a quantidade de bits de cada elemento), além da ordem relativa entre os elementos. Para uma entrada, nessas condições com elementos, assinale a alternativa correta.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Vamos analisar a questão sobre algoritmos de ordenação por comparação, que são fundamentais em Ciência da Computação, especialmente quando se desconhece a natureza específica dos dados de entrada. Esses algoritmos funcionam com base na comparação entre os elementos para determinar sua ordem.
O tema central da questão está relacionado à complexidade computacional desses algoritmos, e saber qual é o limite inferior de comparações que qualquer algoritmo desse tipo deve realizar. Esse conhecimento é essencial para o cargo de Perito Criminal - Engenharia da Computação, pois auxilia na análise de eficiência de algoritmos usados em perícias digitais.
Vamos agora analisar as alternativas:
Alternativa D: Correta. Qualquer algoritmo de ordenação por comparação deverá realizar Ω(n log n) comparações no pior caso. Este é um limite inferior estabelecido por provas teóricas sobre a complexidade destes algoritmos (fonte: "Introduction to Algorithms", Cormen et al.). Isso significa que não é possível, no pior caso, ordenar usando menos do que Ω(n log n) comparações.
Agora, vejamos por que as outras alternativas estão incorretas:
Alternativa A: Incorreta. Existem vários algoritmos conhecidos que podem ordenar elementos em tempo O(n log n) no pior caso, como o Merge Sort e o Heap Sort, não apenas um.
Alternativa B: Incorreta. O Quick Sort, na implementação padrão, tem complexidade de O(n²) no pior caso. Esse pior caso ocorre, por exemplo, quando o pivô é o menor ou o maior elemento da lista em cada etapa de partição (fonte: "Algoritmos: Teoria e Prática", Cormen et al.).
Alternativa C: Incorreta. No melhor caso, o Insertion Sort termina em tempo Θ(n), não Θ(n²). O melhor caso ocorre quando a lista já está ordenada.
Alternativa E: Incorreta. Algoritmos de ordenação por comparação podem ordenar qualquer tipo de dado que possua uma relação de ordem definida, não apenas números inteiros ou reais.
Com essas explicações, esperamos que você tenha clareza sobre como identificar a complexidade e a aplicabilidade dos algoritmos de ordenação por comparação.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo