Assinale a alternativa que apresenta o tempo de execução d...

Próximas questões
Com base no mesmo assunto
Q1277564 Algoritmos e Estrutura de Dados
Assinale a alternativa que apresenta o tempo de execução do pior caso e do melhor caso para o algoritmo quicksort ou ordenação rápida.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E - Pior caso: O(n2); melhor caso: O(n log n).

Explicação sobre o tema:

O algoritmo quicksort, ou ordenação rápida, é um dos algoritmos de ordenação mais eficientes, especialmente para grandes conjuntos de dados. Ele é baseado no conceito de dividir e conquistar. A chave para entender suas complexidades de tempo de execução é saber como ele particiona os dados.

No melhor caso, o quicksort particiona o array de forma relativamente equilibrada, o que resulta em um tempo de execução de O(n log n). Isso ocorre porque a cada iteração, o conjunto de dados é dividido aproximadamente pela metade, levando a uma profundidade de log n níveis de recursão, e em cada nível, todas as n comparações são realizadas.

No pior caso, o algoritmo particiona o array de uma maneira altamente desequilibrada, por exemplo, se o pivô escolhido for o menor ou maior elemento em cada divisão. Isso resulta em uma complexidade de tempo de O(n2), pois em cada nível de recursão, apenas um elemento é colocado no lado esquerdo ou direito, levando a n níveis de recursão, com n comparações em cada nível.

Justificativa da alternativa correta:

A alternativa E está correta porque apresenta a complexidade correta do quicksort nos cenários de pior e melhor caso:

  • Pior caso: O(n2)
  • Melhor caso: O(n log n)

Análise das alternativas incorretas:

  • A: Incorreta porque indica O(n) como melhor caso, enquanto o melhor caso correto é O(n log n).
  • B: Incorreta porque indica O(n log n) como pior caso, o que não é correto; o pior caso é O(n2).
  • C: Incorreta porque indica O(n) como pior caso, o que está incorreto, e O(n + m) como melhor caso, o que também não se aplica ao quicksort.
  • D: Incorreta porque indica O(n log n) como pior caso e O(n + m) como melhor caso, ambos incorretos para o quicksort.

Espero que essa explicação tenha ajudado a esclarecer as sutilezas do algoritmo quicksort e a compreender por que a alternativa E é a correta. Se tiver mais dúvidas, estarei aqui para ajudar!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Não tenho na mente o funcionamento exato do algoritmo informado pela questão, mas basta sabermos a precedência das classes de complexidade de algoritmos e marcar a assertiva onde tenha a maior complexidade para o pior caso e a menor complexidade para o melhor caso! Alternativa E

A maioria dos algoritmos de ordenação tem o pior caso de complexidade O(n^2)

@Homelander, seguindo essa lógica, seria letra A.

O(n) é menos complexo do que O(n lg n)

O Felipe Jansen foi cirúrgico no raciocínio. Essa estratégia pode ser usada em vários tipos de questões.

E de fato o pior cenário para o QuickSort é O(n²) e o melhor cenário O(n log(n))

Força Guerreiro!!!!!!

GABARITO E

Quick Sort

  • Melhor caso: O(n log n)
  • Médio caso: O(n log n)
  • Pior caso: O(n²)

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo