Questão de Algoritmos e Estrutura de Dados — Algoritmos — Instituto Legalle 2026
- Código
- gp019084
- Banca
- Instituto Legalle
- Órgão
- CIGA-SC
- Ano
- 2026
- Cargo
- Programador
- ABubble Sort.
- BInsertion Sort.
- CMerge Sort.
- DSelection Sort.
- EQuick Sort.
GabaritoD — 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 |
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.
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.
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.
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.
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.
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