Imagem de fundo

Um desenvolvedor precisa otimizar um sistema legado que ordena listas de notas dos alun...

Um desenvolvedor precisa otimizar um sistema legado que ordena listas de notas dos alunos. Atualmente, o sistema usa o Selection Sort. O analista está considerando substituí-lo pelo Quick Sort para melhorar a performance média. Para justificar a mudança, ele precisa responder às seguintes perguntas fundamentais sobre os dois algoritmos:


  1. Qual é a complexidade de tempo do Selection Sort no pior caso?
  2. Qual estratégia algorítmica o Quick Sort utiliza?
  3. Em qual cenário a performance do Quick Sort (usando o último elemento como pivô) se assemelha à do Selection Sort?


Assinale a alternativa que indica, correta e respectivamente, as respostas para as perguntas acima.


A

O(n*lgn) – Gulosa – Quando o vetor de entrada está em ordem aleatória.


B

O(n²) – Programação dinâmica – Quando o vetor de entrada contém elementos duplicados.


C

O(n) – Divisão e conquista – Quando o vetor de entrada tem um tamanho pequeno.


D

O(n*lgn) – Backtracking – Quando o vetor de entrada já está ordenado.


E

O(n²) – Divisão e conquista – Quando o vetor de entrada já está ordenado.