Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Algoritmos — IBADE 2025

Algoritmos e Estrutura de DadosAlgoritmos
Código
qg510934
Banca
IBADE
Órgão
Prefeitura de Rolim de Moura - RO
Ano
2025
Nível
Superior
Cargo
Analista de Sistemas
Qual característica do algoritmo QuickSort o torna eficiente para ordenação de grandes conjuntos de dados?
  1. AUso de comparações sequenciais sem divisões.
  2. BDivisão recursiva em subproblemas menores.
  3. CEliminação de trocas entre elementos adjacentes.
  4. DOrdenação direta sem memória auxiliar.
  5. EProcessamento exclusivo de dados ordenados.
Revelar gabarito e comentário

GabaritoB — Divisão recursiva em subproblemas menores.

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”.

QuickSort e sua eficiência em grandes conjuntos

Gabarito: letra B. O QuickSort é eficiente para grandes volumes de dados porque adota a estratégia de divisão e conquista: o problema é dividido recursivamente em subproblemas menores (particionamento em torno de um pivô), e cada subarray é ordenado independentemente. Essa abordagem oferece complexidade média O(n log n), superando algoritmos quadráticos como Bubble Sort ou Insertion Sort para entradas grandes.

A banca testa o conhecimento do paradigma central do QuickSort. A alternativa correta é a única que descreve esse mecanismo — as demais ou contradizem a definição do algoritmo ou atribuem características que não lhe pertencem.

1Estratégia: Divisão e conquista
Escolhe pivô
Particiona (menores × maiores)
Recursão em cada partição
2Complexidade
Média: O(n log n)
Pior caso: O(n²)
3Características
In-place (exceto pilha de recursão)
Faz trocas (swap) entre posições
Não é sequencial
QuickSort
LEVELsoulevel.com.br
QuickSort: Estratégia: Divisão e conquista (Escolhe pivô, Particiona (menores × maiores), Recursão em cada partição); Complexidade (Média: O(n log n), Pior caso: O(n²)); Características (In-place (exceto pilha de recursão), Faz trocas (swap) entre posições, Não é sequencial)

Alternativa A — ❌ Incorreta

Afirma que o QuickSort usa "comparações sequenciais sem divisões". Na verdade, o QuickSort realiza divisões (particionamento) e não é meramente sequencial: ele depende da recursão para dividir o array em partes menores. Essa descrição se aproxima mais de algoritmos simples como Selection Sort ou Bubble Sort, que fazem apenas comparações adjacentes sem subdividir.

Alternativa B — ✅ Correta ⟵ GABARITO

Exatamente a característica-chave: "Divisão recursiva em subproblemas menores". O QuickSort escolhe um pivô, particiona o array em elementos menores e maiores que o pivô, e então chama a si mesmo recursivamente para ordenar cada partição. Esse processo de divisão e conquista reduz drasticamente o número de comparações totais, conferindo eficiência assintótica.

Alternativa C — ❌ Incorreta

Diz que o QuickSort elimina trocas entre elementos adjacentes. Na verdade, o QuickSort realiza trocas (swap) entre elementos, inclusive entre posições não adjacentes, durante o particionamento. A afirmação é falsa porque o algoritmo faz trocas e não as elimina. A eliminação de trocas adjacentes é uma característica do Shell Sort (com gaps) ou do Counting Sort (não baseado em comparação).

Alternativa D — ❌ Incorreta

Afirma que o QuickSort ordena "diretamente sem memória auxiliar". Embora o QuickSort seja um algoritmo in-place (ordena no próprio array, exceto pela pilha de recursão), ele usa memória auxiliar implícita — a pilha de chamadas recursivas — que, no pior caso, pode ter profundidade O(n). Além disso, a descrição "sem memória auxiliar" é imprecisa e não é uma característica que define sua eficiência. Algoritmos como Merge Sort, embora não in-place, também são eficientes.

Alternativa E — ❌ Incorreta

"Processamento exclusivo de dados ordenados" é absurdo: o QuickSort é um algoritmo de ordenação geral, usado para desordenar dados (no sentido de colocá-los em ordem). Ele não exige que a entrada esteja ordenada; pelo contrário, seu desempenho piora quando os dados já estão ordenados (caso o pivô seja mal escolhido). Essa frase não corresponde a nenhuma característica do algoritmo.

Conclusão: A alternativa que descreve corretamente a razão da eficiência do QuickSort é a letra B — a estratégia de divisão recursiva em subproblemas menores.

PEGA ESSA DICA!

Em questões sobre algoritmos de ordenação, identifique o paradigma (divisão e conquista, incremental, etc.) e a complexidade média/pior caso. Para QuickSort, foque no particionamento e na recursão; para Merge Sort, na intercalação; para Heap Sort, na estrutura de heap. Esses são os pontos que a banca mais explora.

Gabarito: letra B.

Link permanente: /questoes/qg510934