Teste sobre Comparação de algoritmos de ordenação e complexidade de tempo
Comparação de Algoritmos de Ordenação e Complexidade de Tempo
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.