Questão de Algoritmos e Estrutura de Dados — Algoritmos — SUGEP - UFRPE 2019
- Código
- qq556131
- Banca
- SUGEP - UFRPE
- Órgão
- UFRPE
- Ano
- 2019
- Nível
- Médio
- AO(logn)
- BO(n logn)
- CO(n)
- DO(n²)
- EO(n )
GabaritoD — O(n²)
Gabarito: letra D. No pior caso, o algoritmo quicksort apresenta complexidade O(n²), que ocorre quando as partições são altamente desbalanceadas (ex.: pivô sempre o menor ou maior elemento). O caso médio e o melhor caso são O(n log n).
A questão testa o conhecimento das complexidades típicas de algoritmos de ordenação, especialmente o quicksort, que é um dos mais rápidos na prática, mas tem um pior caso quadrático.
O(log n) é a complexidade de algoritmos como a busca binária, não do quicksort. O quicksort, mesmo no melhor caso, é O(n log n), nunca logarítmico.
O(n log n) é a complexidade do caso médio e do melhor caso do quicksort, mas não do pior caso. É também a complexidade de outros algoritmos como Merge Sort e Heap Sort.
O(n) é complexidade linear, típica de algoritmos como busca linear ou ordenação por contagem (em certas condições). O quicksort não possui complexidade linear em nenhum caso.
No pior caso, o quicksort tem complexidade O(n²). Isso acontece quando a escolha do pivô resulta em partições de tamanho 1 e n-1 repetidamente, levando a n chamadas recursivas com custo linear cada.
Repetição da alternativa C (O(n)). Não corresponde ao pior caso do quicksort.
Decore as complexidades dos principais algoritmos de ordenação. Uma tabela mental ajuda:
Quick Sort: melhor/médio O(n log n), pior O(n²).
Merge Sort: sempre O(n log n).
Heap Sort: sempre O(n log n).
Insertion Sort: melhor O(n), médio/pior O(n²).
Bubble Sort: O(n²) em todos os casos.
Gabarito: letra D — O(n²).
Link permanente: /questoes/qq556131