Informática, perguntado por nathnathizinha, 5 meses atrás

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.

Soluções para a tarefa

Respondido por GabrielMartinsPadoin
7

Resposta:

Alternativa 4) II e III, apenas

Explicação:

Perguntas interessantes