Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Algoritmos — Instituto Legalle 2026

Algoritmos e Estrutura de DadosAlgoritmos
Código
gp019084
Banca
Instituto Legalle
Órgão
CIGA-SC
Ano
2026
Cargo
Programador
Considere uma associação pública vinculadaa um consórcio de municípios que mantém um sistema degestão de dados para organizar registros numéricosutilizados em relatórios administrativos. Um Programadorprecisa implementar um algoritmo de ordenação para umvetor de inteiros desordenado, com o objetivo de facilitarconsultas futuras. O algoritmo exigido percorrerepetidamente o vetor, seleciona o menor elemento daparte ainda não ordenada e o posiciona na sua posiçãocorreta, repetindo esse processo até que toda a estruturaesteja ordenada. Esse algoritmo apresenta, no pior caso,complexidade O(n2), devido ao número elevado decomparações realizadas entre os elementos durante asiterações. Nesse contexto, qual algoritmo de ordenaçãoatende à descrição apresentada?
  1. ABubble Sort.
  2. BInsertion Sort.
  3. CMerge Sort.
  4. DSelection Sort.
  5. EQuick Sort.
Revelar gabarito e comentário

GabaritoD — Selection 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”.

Algoritmos de Ordenação: Selection Sort

Gabarito: letra D. O algoritmo descrito — que percorre o vetor, seleciona o menor elemento da parte não ordenada e o posiciona na posição correta, repetindo até a ordenação completa — é o Selection Sort (ordenação por seleção). No pior caso, sua complexidade é O(n²), em razão do elevado número de comparações, conforme amplamente documentado na literatura de algoritmos.

A questão testa o reconhecimento da descrição clássica do Selection Sort, distinguindo-o de outros algoritmos de ordenação. Cada alternativa representa um algoritmo diferente, e a chave está em identificar o comportamento característico: "selecionar o menor elemento da parte não ordenada e posicioná-lo".

Algoritmo

Mecanismo Principal

Complexidade (Pior Caso)

Descrição Corresponde ao Enunciado?

Bubble Sort

Trocas sucessivas entre pares adjacentes

O(n²)

❌ Não

Insertion Sort

Inserção de cada elemento na posição correta

O(n²)

❌ Não

Merge Sort

Divisão recursiva e intercalação

O(n log n)

❌ Não

Selection Sort

Seleção do menor elemento da parte não ordenada

O(n²)

✅ Sim

Quick Sort

Particionamento e recursão

O(n²)

❌ Não

  1. 1Percorre vetor
  2. 2Seleciona menor elemento
  3. 3Posiciona na parte ordenada
  4. 4Repete até fim
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta (Bubble Sort)

O Bubble Sort funciona percorrendo repetidamente o vetor e trocando elementos adjacentes quando estão fora de ordem. Ele não seleciona o menor elemento; em vez disso, "empurra" o maior elemento para o final a cada iteração. Embora também tenha complexidade O(n²), seu mecanismo é de trocas sucessivas entre pares consecutivos.

Alternativa B — ❌ Incorreta (Insertion Sort)

O Insertion Sort constrói a ordenação incrementalmente: insere cada elemento na posição correta em relação aos já ordenados. Ele não seleciona o menor; percorre a parte ordenada da direita para a esquerda deslocando elementos. Também possui complexidade O(n²), mas sua descrição é de inserção, não de seleção.

Alternativa C — ❌ Incorreta (Merge Sort)

O Merge Sort é um algoritmo recursivo baseado em divisão e conquista: divide o vetor ao meio, ordena cada metade recursivamente e depois intercala as metades ordenadas. Sua complexidade é O(n log n), não O(n²). O texto do enunciado afirma expressamente "complexidade O(n²)", o que já descarta o Merge Sort.

Alternativa D — ✅ Correta ⟵ GABARITO

O Selection Sort (ordenação por seleção) opera exatamente como descrito: a cada iteração, seleciona o menor elemento da parte ainda não ordenada e o coloca na posição correta (no início da parte não ordenada). O número de comparações é sempre O(n²), independentemente do arranjo inicial, pois sempre percorre toda a parte não ordenada para encontrar o mínimo. É a única opção que corresponde literalmente ao comportamento descrito.

Alternativa E — ❌ Incorreta (Quick Sort)

O Quick Sort também usa divisão e conquista, mas sua estratégia é escolher um pivô e particionar o vetor em duas partes — elementos menores que o pivô e elementos maiores. Ele não seleciona o menor elemento. Embora tenha pior caso O(n²) — quando o pivô é sempre o menor ou o maior —, sua descrição típica não envolve "selecionar o menor". A descrição do enunciado é específica do Selection Sort.


PEGA ESSA DICA!

Para questões de identificação de algoritmos de ordenação, foque nas operações-chave: selecionar o menor → Selection Sort; trocar adjacentes → Bubble Sort; inserir na posição → Insertion Sort; dividir e intercalar → Merge Sort; particionar por pivô → Quick Sort. Memorize também as complexidades típicas (O(n²) para os três primeiros, O(n log n) para os dois últimos).

Gabarito: letra D

Link permanente: /questoes/gp019084