Imagem de fundo

Um desenvolvedor precisa otimizar um sistema legado que...

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.