Questão de Algoritmos e Estrutura de Dados — Algoritmos de Ordenação — FGV 2025
Algoritmos e Estrutura de Dados›Algoritmos de Ordenação
Código
fg116601
Banca
FGV
Órgão
PC-MG
Ano
2025
Nível
Superior
Cargo
Perito Criminal - Área II
A análise da complexidade de algoritmos é essencial para avaliar seu desempenho e eficiência, especialmente em cenários com grandes volumes de dados.Assinale a opção que representa a complexidade O (n log n) mais comummente observada em algoritmos de ordenação eficientes.
AAlgoritmos de ordenação por bolha (Bubble Sort).
BAlgoritmos de ordenação por seleção (Selection Sort).
CAlgoritmos de ordenação rápida (QuickSort).
DAlgoritmos de ordenação por inserção (Insertion Sort).
EAlgoritmos de ordenação usando contagem (Counting Sort).
Revelar gabarito e comentário▾
GabaritoC — Algoritmos de ordenação rápida (QuickSort).
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 QuickSort é o algoritmo de ordenação mais conhecido por apresentar complexidade O(n log n) no caso médio, sendo considerado eficiente. Os demais algoritmos listados possuem complexidade quadrática O(n²) (Bubble, Selection, Insertion) ou não se enquadram em O(n log n) como o Counting Sort (O(n+k)).
A questão testa o conhecimento das complexidades típicas dos algoritmos de ordenação, especialmente a diferença entre os algoritmos elementares (O(n²)) e os eficientes (O(n log n)).
O Bubble Sort possui complexidade O(n²) no pior e no caso médio. Embora seja um algoritmo simples, não é eficiente para grandes volumes de dados, não alcançando O(n log n).
Alternativa B — ❌ Incorreta
O Selection Sort também tem complexidade O(n²) em todos os casos. Independentemente da ordenação dos dados, ele percorre o array comparando todos os elementos, resultando em desempenho quadrático.
Alternativa C — ✅ Correta ⟵ GABARITO
O QuickSort é um algoritmo de divisão e conquista com complexidade O(n log n) no caso médio. Embora no pior caso possa ser O(n²), a versão com escolha aleatória do pivô torna o caso médio a situação mais comum na prática, sendo amplamente utilizado por sua eficiência.
Alternativa D — ❌ Incorreta
O Insertion Sort tem complexidade O(n²) no pior e no caso médio, sendo eficiente apenas para listas pequenas ou quase ordenadas. Não atinge O(n log n).
Alternativa E — ❌ Incorreta
O Counting Sort é um algoritmo de ordenação por contagem, não comparativo, com complexidade O(n + k), onde k é a faixa dos valores. Não se trata de O(n log n) e não é classificado como algoritmo de ordenação comparativo eficiente genérico.
PEGA ESSA DICA!
Para memorizar as complexidades, lembre-se: os algoritmos de ordenação simples (Bubble, Selection, Insertion) são O(n²); os eficientes (Merge Sort, Heap Sort, Quick Sort) são O(n log n). O Quick Sort é o único que aparece nas alternativas com essa característica.