Prévia do material em texto
Material de Estudo 3: Ciência da Computação - Algoritmos de Ordenação Tema: Análise comparativa de algoritmos de ordenação em diferentes cenários de entrada. Instruções: Leia atentamente cada questão e escolha a alternativa correta. 1. Um conjunto de dados quase ordenado, com apenas alguns elementos fora de ordem, precisa ser ordenado com a menor complexidade de tempo possível. Qual algoritmo de ordenação seria o mais eficiente nesse cenário? a) Bubble Sort. b) Selection Sort. c) Insertion Sort. d) Merge Sort. e) Quick Sort. Resposta: c) Insertion Sort. Justificativa: O Insertion Sort tem complexidade O(n) para dados quase ordenados, sendo o mais eficiente nesses casos.* 2. Um conjunto de dados grande e aleatório precisa ser ordenado com a maior eficiência possível em termos de complexidade de tempo média. Qual algoritmo de ordenação seria o mais adequado? a) Bubble Sort. b) Selection Sort. c) Insertion Sort. d) Merge Sort. e) Quick Sort. Resposta: e) Quick Sort. Justificativa: O Quick Sort tem complexidade média O(n log n) e é geralmente o mais rápido para dados aleatórios.* 3. Um conjunto de dados pequeno e quase ordenado precisa ser ordenado com a menor complexidade de espaço possível. Qual algoritmo de ordenação seria o mais eficiente nesse cenário? a) Bubble Sort. b) Selection Sort. c) Insertion Sort. d) Merge Sort. e) Quick Sort. Resposta: a) Bubble Sort. Justificativa: O Bubble Sort tem complexidade de espaço O(1), sendo o mais eficiente em termos de uso de memória.* 4. Um conjunto de dados grande e aleatório precisa ser ordenado com a maior estabilidade possível, mantendo a ordem relativa de elementos iguais. Qual algoritmo de ordenação seria o mais adequado? a) Bubble Sort. b) Selection Sort. c) Insertion Sort. d) Merge Sort. e) Quick Sort. Resposta: d) Merge Sort. Justificativa: O Merge Sort é um algoritmo estável, garantindo a ordem relativa de elementos iguais.* 5. Um conjunto de dados com chaves repetidas precisa ser ordenado com a menor complexidade de tempo possível. Qual algoritmo de ordenação seria o mais eficiente nesse cenário? a) Bubble Sort. b) Selection Sort. c) Insertion Sort. d) Merge Sort. e) Quick Sort. Resposta: d) Merge Sort. Justificativa: O Merge Sort tem complexidade O(n log n) em todos os casos, sendo eficiente mesmo com chaves repetidas.* 6. Um conjunto de dados com valores em um intervalo conhecido precisa ser ordenado com a menor complexidade de tempo possível, independentemente do tamanho do conjunto. Qual algoritmo de ordenação seria o mais eficiente nesse cenário? a) Bubble Sort. b) Selection Sort. c) Insertion Sort. d) Counting Sort. e) Quick Sort. Resposta: d) Counting Sort. Justificativa: O Counting Sort tem complexidade O(n+k), onde k é o intervalo de valores, sendo muito eficiente para dados em um intervalo conhecido.*