Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Algoritmos de Ordenação — FGV 2024

Algoritmos e Estrutura de DadosAlgoritmos de Ordenação
Código
fg077361
Banca
FGV
Órgão
CVM
Ano
2024
Nível
Superior
Cargo
Analista - Perfil 8 - TI / Sistemas e Desenvolvimento - Tarde
Pedro adotou o algoritmo apresentado a seguir para ordenar um vetor de inteiros V, com índices variando de 1 até n.Para K de 2 até n faça:X <- V[K]W <- (K – 1)Enquanto W > 0 e V[W] > X faça:V[W+1] <- V[W]W <- (W-1)Fim EnquantoV[W+1] <- XFim ParaO algoritmo utilizado por Pedro foi o:
  1. ASelection Sort;
  2. BInsertion Sort;
  3. CBubble Sort;
  4. DMerge Sort;
  5. EQuick Sort;
Revelar gabarito e comentário

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

Algoritmos de Ordenação — Identificação pelo Pseudocódigo

Gabarito: letra B. O algoritmo descrito é o Insertion Sort (ordenação por inserção). O pseudocódigo percorre o vetor do segundo elemento ao último, e para cada elemento, desloca os elementos anteriores maiores que ele para a direita e o insere na posição correta — exatamente o mecanismo do insertion sort.

O laço externo ("Para K de 2 até n") seleciona a chave a ser inserida. O laço interno ("Enquanto W > 0 e V[W] > X") desloca os elementos maiores para a direita, abrindo espaço. Após o laço, a chave é colocada em V[W+1]. Esse comportamento é característico do Insertion Sort.

Algoritmo

Característica principal

Mecanismo de ordenação

Estrutura típica

Selection Sort

Seleciona o menor elemento e troca

Troca direta de posições

Laço externo + laço interno para encontrar mínimo

Insertion Sort

Insere elemento na posição correta

Deslocamento de elementos maiores para a direita

Laço externo + laço interno com deslocamentos

Bubble Sort

Compara pares adjacentes

Trocas sucessivas de pares fora de ordem

Dois laços aninhados com comparação de pares

Merge Sort

Divisão e conquista recursiva

Intercalação de subvetores ordenados

Recursão + função de intercalação

Quick Sort

Particionamento em torno de um pivô

Rearranjo com pivô e recursão

Recursão + função de partição

Alternativa A — ❌ Incorreta

O Selection Sort seleciona o menor elemento do restante e troca com o elemento atual, mas não utiliza deslocamentos sucessivos. O pseudocódigo apresentado não realiza trocas de posições diretamente, e sim deslocamentos, o que não é característico do Selection Sort.

Alternativa B — ✅ Correta ⟵ GABARITO

O Insertion Sort constrói a sequência ordenada incrementalmente. Para cada novo elemento, ele o compara com os já ordenados e o insere na posição adequada, deslocando os maiores para a direita. O código fornecido implementa exatamente esse processo.

Alternativa C — ❌ Incorreta

O Bubble Sort percorre repetidamente o vetor trocando elementos adjacentes fora de ordem. Sua estrutura típica envolve dois laços aninhados que comparam pares consecutivos e realizam trocas. O pseudocódigo não faz trocas de pares adjacentes nem varreduras completas.

Alternativa D — ❌ Incorreta

O Merge Sort é um algoritmo recursivo de divisão e conquista que divide o vetor ao meio, ordena cada metade e depois intercala. Não utiliza deslocamentos simples em um único vetor como mostrado.

Alternativa E — ❌ Incorreta

O Quick Sort também é recursivo, escolhe um pivô e particiona o vetor em torno dele. A estrutura apresentada não contém recursão nem particionamento.

Gabarito: letra B

Link permanente: /questoes/fg077361