Questão de Algoritmos e Estrutura de Dados — Algoritmos — IV - UFG 2023
- Código
- qq863036
- Banca
- IV - UFG
- Órgão
- UFT
- Ano
- 2023
- Nível
- Superior
- Cargo
- CS-UFG - - Analista de Tecnologia da Informação
- AO(n²).
- BO(log n).
- CO(n³).
- DO(n log n).
GabaritoD — O(n log n).
Gabarito: letra D. O algoritmo Heapsort possui complexidade de tempo O(n log n) no pior caso, no melhor caso e no caso médio. Essa característica o torna um algoritmo de ordenação eficiente e estável em termos de desempenho assintótico.
A questão cobra o conhecimento da notação Big-O para algoritmos clássicos de ordenação. O Heapsort constrói uma max-heap (ou min-heap) e então extrai sucessivamente o maior (ou menor) elemento, realizando operações de heapify que custam O(log n) cada, totalizando O(n log n).
O(n²) é a complexidade de algoritmos quadráticos como Bubble Sort, Insertion Sort e Selection Sort. O Heapsort é significativamente mais eficiente para grandes entradas.
O(log n) é complexidade logarítmica, típica de busca binária em uma estrutura ordenada. Nenhum algoritmo de ordenação baseado em comparação pode ter complexidade inferior a O(n log n) no pior caso; O(log n) seria impossível.
O(n³) é cúbico, encontrado em algoritmos muito ineficientes ou em operações matriciais ingênuas. O Heapsort é muito mais rápido.
O Heapsort executa em tempo O(n log n). É um algoritmo de ordenação por comparação que utiliza uma estrutura de dados heap binário. Exemplos: construir o heap custa O(n) e cada extração custa O(log n), para n extrações totalizando O(n log n).
Decore as complexidades dos principais algoritmos de ordenação:
Algoritmo | Melhor caso | Caso médio | Pior caso |
|---|---|---|---|
Bubble Sort | O(n) | O(n²) | O(n²) |
Selection Sort | O(n²) | O(n²) | O(n²) |
Insertion Sort | O(n) | O(n²) | O(n²) |
Merge Sort | O(n log n) | O(n log n) | O(n log n) |
Quick Sort | O(n log n) | O(n log n) | O(n²) |
Heap Sort | O(n log n) | O(n log n) | O(n log n) |
Gabarito: letra D
Link permanente: /questoes/qq863036