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.