Teste sobre Comparação de algoritmos de ordenação e complexidade de tempo

Comparação de Algoritmos de Ordenação e Complexidade de Tempo

Pergunta 1 de 50%

A complexidade de tempo de pior caso para o algoritmo Quick Sort é sempre O(n log n).

Test: Ordenação de Dados

20 perguntas

Pergunta 1: A complexidade de tempo de pior caso para o algoritmo Quick Sort é sempre O(n log n).

A. Sim

B. Não

Explicação: Os materiais de estudo indicam que a complexidade de tempo de pior caso para o Quick Sort é O(n²). Isso ocorre quando o pivô é sempre o menor ou o maior elemento, por exemplo, em uma lista já ordenada ou inversamente ordenada. O(n log n) é a complexidade de melhor caso e caso médio para este algoritmo.

Pergunta 2: A ordenação é uma operação de dados que se aplica exclusivamente a elementos numéricos, sem relevância para dados textuais ou alfabéticos.

A. Sim

B. Não

Explicação: A ordenação consiste em organizar elementos em uma ordem específica, seja crescente, decrescente, alfabética ou numérica, o que significa que é aplicável tanto a dados numéricos quanto a dados textuais/alfabéticos.

Pergunta 3: A notação Big O, ao descrever a complexidade de tempo de um algoritmo de ordenação, considera constantes e termos de ordem inferior para focar na taxa de crescimento.

A. Sim

B. Não

Explicação: A notação Big O, que descreve a complexidade de tempo, ignora constantes e termos de ordem inferior, focando apenas na taxa de crescimento do algoritmo para entradas grandes.

Pergunta 4: Para listas que já estão quase ordenadas, o Insertion Sort é um algoritmo que se destaca por exigir poucas trocas.

A. Sim

B. Não

Explicação: Algoritmos como o Insertion Sort se destacam em listas quase ordenadas, pois exigem poucas trocas. Seu tempo de melhor caso é O(n) nessas condições, o que demonstra sua eficiência para este tipo específico de entrada.

Pergunta 5: O algoritmo Merge Sort funciona dividindo recursivamente a lista em sublistas contendo apenas um elemento antes de realizar a fusão.

A. Sim

B. Não

Explicação: O Merge Sort é um algoritmo de divisão e conquista. Ele divide recursivamente a lista em duas metades até que cada sublista contenha apenas um elemento (que é considerado ordenado). Em seguida, ele funde as sublistas de volta, comparando elementos e construindo uma lista ordenada maior. A fusão é a operação chave, onde dois arrays ordenados são combinados em um único array ordenado.