Você sabia que durante o processo de busca de dados em um arranjo linear é possível “cortar caminho” para deixar de vasculhar regiões do vetor que provavelmente não contenham a resposta para a busca? Quando se realiza a busca binária, pode ser muito mais rápido encontrar a posição de um elemento em um arranjo, ou mesmo, dizer se o elemento está ausente no vetor.
OLIVEIRA, Pietro Martins de; LEON, Rogério de. Estrutura de Dados II. Maringá-PR, Unicesumar, 2019.

Observe o pseudocódigo a seguir:

//Função de Busca Binária
int BuscaBinaria(int vec[], int arg, int tam){
int menor, maior, meio;
menor = 0;
maior = tam-1;
while (menor <= maior){
meio = (menor + maior)/2;
if (arg == vec[meio]){
return(meio);
}
if(arg < vec[meio]){
maior = meio - 1;
}
else {
menor = meio + 1;
}
}
return(-1);
}

Com base no código-fonte apresentado acima, avalie as afirmações a seguir:

I. A fórmula para identificar a posição do meio do arranjo está incorreta no corpo da função BuscaBinaria() acima.
II. Em caso de elemento ausente, este algoritmo irá retornar o valor inteiro -1.
III. Este algoritmo poderia ser implementado de forma recursiva.

É correto o que se afirma em:

Alternativas
Alternativa 1:
I, apenas.

Alternativa 2:
I e II, apenas.

Alternativa 3:
I e III, apenas.

Alternativa 4:
II e III, apenas.

Alternativa 5:
I, II e III.

Resposta :

A busca binária é uma técnica eficiente para encontrar a posição de um elemento em um arranjo ordenado. Vamos analisar cada uma das afirmativas:

I. A fórmula para identificar a posição do meio do arranjo está incorreta no corpo da função BuscaBinaria() acima.

Incorreta. A fórmula (menor + maior) / 2 é correta para calcular o índice do meio do arranjo.

II. Em caso de elemento ausente, este algoritmo irá retornar o valor inteiro -1.

Correta. Se o elemento não for encontrado, o algoritmo retorna -1.

III. Este algoritmo poderia ser implementado de forma recursiva.

Correta. Embora o pseudocódigo seja iterativo, a busca binária também pode ser implementada de forma recursiva.

Portanto, a resposta correta é a Alternativa 5: I, II e III.

Aviso: Feito por Inteligência ARTIFICIAL

Outras perguntas