Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Algoritmos — FUNDEP (Gestão de Concursos) 2024

Algoritmos e Estrutura de DadosAlgoritmos
Código
qg188329
Banca
FUNDEP (Gestão de Concursos)
Órgão
UFOP
Ano
2024
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Analise o método de ordenação representado pelo algoritmo a seguir.• Dividir recursivamente o vetor a ser ordenado em dois, até obter n vetores de 1 único elemento.• Aplicar a intercalação tendo como entrada 2 vetores de um elemento, formando um vetor ordenado de dois elementos.• Repetir esse processo formando vetores ordenados cada vez maiores, até que todo o vetor esteja ordenado.Qual é o método de ordenação representado pelo algoritmo?
  1. AMergesort.
  2. BSheelsort.
  3. CBubblesort.
  4. DQuicksort.
Revelar gabarito e comentário

GabaritoA — Mergesort.

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: Mergesort

Gabarito: letra A — Mergesort. A descrição do algoritmo é exatamente a do Mergesort: divisão recursiva do vetor em partes menores até obter vetores de um único elemento, seguida da intercalação (merge) desses vetores ordenados, formando vetores cada vez maiores até que todo o conjunto esteja ordenado. Esse é o clássico método de ordenação por intercalação, também conhecido como merge sort.

O enunciado descreve, passo a passo, o funcionamento do Mergesort: (1) dividir recursivamente o vetor ao meio até restar apenas vetores de um elemento; (2) intercalar (merge) esses vetores de um elemento, gerando um vetor ordenado de dois; (3) repetir o processo, intercalando pares de vetores ordenados, até que o vetor inteiro esteja ordenado. Esse comportamento é típico do algoritmo de ordenação por intercalação.

Característica

Mergesort (A) ✅

Shellsort (B) ❌

Bubblesort (C) ❌

Quicksort (D) ❌

Divisão recursiva do vetor

Sim, divide ao meio até 1 elemento

Não

Não

Sim, particiona por pivô

Intercalação (merge) de vetores ordenados

Sim, etapa central do algoritmo

Não

Não

Não

Base do algoritmo

Divisão e conquista + intercalação

Inserção com gaps (distâncias)

Comparação e troca de adjacentes

Divisão e conquista + particionamento

Resultado final

Vetor ordenado por merge sucessivo

Vetor ordenado por inserção com gaps

Vetor ordenado por bolhas

Vetor ordenado por partições recursivas

  1. 1Dividir vetor ao meio
  2. 2Dividir recursivamente
  3. 3Vetores de 1 elemento
  4. 4Intercalar pares
  5. 5Vetor ordenado completo
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

O Mergesort é um algoritmo de ordenação estável, baseado no paradigma de divisão e conquista. Ele divide a lista em duas metades recursivamente até que cada sublista tenha tamanho 1 (que por definição já está ordenada), e depois intercala (merge) essas sublistas de forma ordenada. A descrição do enunciado casa perfeitamente com esse método.

Alternativa B — ❌ Incorreta

Sheelsort não é um algoritmo de ordenação por divisão recursiva e intercalação. O Shellsort é uma generalização do Insertion Sort, que ordena elementos distantes entre si e vai reduzindo o espaçamento (gap). Não há divisão recursiva nem intercalação de vetores ordenados.

Alternativa C — ❌ Incorreta

Bubblesort (ordenação bolha) percorre o vetor repetidamente, comparando elementos adjacentes e trocando-os se estiverem fora de ordem, até que o vetor esteja ordenado. Não há divisão recursiva nem intercalação.

Alternativa D — ❌ Incorreta

Quicksort também é um algoritmo de divisão e conquista, mas sua abordagem é diferente: ele escolhe um pivô, particiona o vetor em elementos menores e maiores que o pivô, e depois ordena recursivamente as partições. Não há intercalação de vetores ordenados — a ordenação ocorre durante a própria partição (in-place).

NÃO CAIA NESSA!

Para identificar algoritmos de ordenação, foque na descrição do processo. Se o texto menciona "dividir recursivamente até ter um elemento" e "intercalar (merge) para formar vetores ordenados maiores", sem dúvida é Mergesort. O Quicksort também divide recursivamente, mas não intercala — ele particiona com base em um pivô e não requer etapa de merge. Memorize essas características para não confundir.

Gabarito: letra A — Mergesort.

Link permanente: /questoes/qg188329