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
7
Resposta:
Alternativa 4) II e III, apenas
Explicação:
Perguntas interessantes