Pular para o conteúdo principal

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

Algoritmos e Estrutura de DadosAlgoritmos
Código
qq266088
Banca
FUNDEP (Gestão de Concursos)
Órgão
UFVJM-MG
Ano
2017
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Analise o trecho de código a seguir.Avariável x representa o elemento de referência passado como parâmetrowhile( inicio <= termino ) { meio = ( inicio + termino ) / 2; if( a[ meio ].compareTo( x ) < 0 ) inicio = meio + 1; else if( a[ meio ].compareTo( x ) > 0 ) termino = meio - 1; else return meio; } A qual algoritmo esse código pertence?
  1. ABusca binária
  2. BOrdenação heapsort
  3. CBusca sequencial
  4. DOrdenação quicksort
Revelar gabarito e comentário

GabaritoA — Busca binária

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

Algoritmo de Busca Binária

Gabarito: letra A. O código apresentado implementa o algoritmo de busca binária (binary search). A estrutura while(inicio <= termino) com cálculo do meio (inicio+termino)/2 e as comparações compareTo(x) para decidir se o elemento está à esquerda ou à direita são as características clássicas desse algoritmo.

A busca binária atua sobre um vetor ordenado, dividindo repetidamente o intervalo de busca pela metade. Se o elemento do meio é menor que o alvo, descarta-se a metade esquerda (inicio = meio+1); se maior, descarta-se a direita (termino = meio-1). Quando encontra, retorna o índice. Esse processo reduz o espaço de busca exponencialmente, resultando em complexidade O(log n).

Alternativa A — ✅ Correta ⟵ GABARITO

O trecho reflete exatamente o pseudocódigo da busca binária.

Alternativa B — ❌ Incorreta

Heapsort é um algoritmo de ordenação que utiliza uma estrutura de heap (árvore binária). Não realiza busca por um elemento específico e não possui o padrão de divisão com inicio/termino/meio.

Alternativa C — ❌ Incorreta

Busca sequencial percorre o vetor elemento por elemento do início ao fim (ou até encontrar), sem dividir o intervalo. O código apresentado claramente faz uma divisão binária, não linear.

Alternativa D — ❌ Incorreta

Quicksort é outro algoritmo de ordenação, baseado em partição (escolha de um pivô) e recursão. Não se confunde com a estrutura de busca binária.

Gabarito: letra A.

Link permanente: /questoes/qq266088