Questão de Algoritmos e Estrutura de Dados — Algoritmos — CESGRANRIO 2024
Algoritmos e Estrutura de Dados›Algoritmos
Código
cg022244
Banca
CESGRANRIO
Órgão
IPEA
Ano
2024
Nível
Superior
Cargo
Técnico de Planejamento e Pesquisa - Desenvolvimento de Sistemas
Seja um array de inteiros de 32 bits com 10.000 elementos, gerados e posicionados aleatoriamente nesse array.Nessas condições, qual algoritmo irá ordenar esse array com um consumo de tempo, em seu caso médio, proporcional ao consumo de tempo do pior caso do Quick sort?
ABucket sort
BHeap sort
CInsertion sort
DMerge sort
ETree sort
Revelar gabarito e comentário▾
GabaritoC — Insertion sort
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Complexidade de Algoritmos de Ordenação
Gabarito: letra C. O pior caso do Quick sort tem complexidade . O algoritmo cujo caso médio é é o Insertion sort — exatamente o que a questão pede: um algoritmo que, em seu caso médio, seja proporcional ao pior caso do Quick sort. Dados aleatórios não favorecem o Insertion sort (que é em média), enquanto os demais algoritmos listados possuem caso médio ou melhor.
A banca testa o conhecimento das complexidades típicas dos principais algoritmos de ordenação. A chave é lembrar que:
Quick sort: melhor/médio , pior (quando o pivô é sempre o menor ou maior elemento).
Insertion sort: melhor (já ordenado), médio e pior .
Heap sort, Merge sort, Tree sort: todos no caso médio (e também no pior, exceto Tree sort que pode degenerar).
Bucket sort: médio , mas pode ser no pior; porém seu caso médio é linear, não .
Complexidade de ordenação
1O(n log n) — caso médio
Quick sort (médio)
Heap sort
Merge sort
Tree sort (médio)
2O(n²) — caso médio
Insertion sort (médio e pior)
Quick sort (pior caso)
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Bucket sort tem complexidade média , onde é o número de baldes. Para dados uniformemente distribuídos, aproxima-se de , não . Portanto, não atende ao requisito.
Alternativa B — ❌ Incorreta
Heap sort possui complexidade tanto no pior quanto no caso médio. Logo, seu caso médio é , não .
Alternativa C — ✅ Correta ⟵ GABARITO
Insertion sort tem complexidade média . Para um array de 10.000 elementos aleatórios, o número médio de comparações e trocas é proporcional a , o que equivale ao pior caso do Quick sort (). O enunciado pede exatamente essa correspondência.
Alternativa D — ❌ Incorreta
Merge sort tem complexidade no melhor, médio e pior caso. Seu caso médio é , não .
Alternativa E — ❌ Incorreta
Tree sort (inserção em árvore binária de busca seguida de percurso em ordem) tem complexidade média . Embora no pior caso (árvore degenerada) possa ser , o caso médio para dados aleatórios é , não .
PEGA ESSA DICA!
Memorize as complexidades típicas: Insertion sort é o único entre as alternativas cujo caso médio é quadrático. Questões que comparam pior caso de um algoritmo com caso médio de outro são comuns em concursos. Monte uma tabela com os principais algoritmos e suas complexidades (melhor, médio, pior) para fixar.