O algoritmo clássico a seguir, implementado em um método em Java, é chamado de busca binária. O algoritmo recebe como parâmetro um vetor de inteiros v e um inteiro num e retorna verdadeiro lógico caso aquele inteiro num apareça no vetor v ou falso lógico em caso contrário. Considerando que a variável n é o tamanho do vetor v, qual das opções a seguir representa a ordem de grandeza de operações que precisam ser feitas para se buscar um inteiro num com a busca binária em um vetor v de tamanho n?
public boolean buscaBinaria( int v[], int num ) {
int esq = 0;
int dir = v.length-1;
while(esq<=dir) {
int meio = (esq+dir)/2;
if(v[meio]==num) return true;
if(v[meio]<num) esq = meio+1;
else dir = meio-1;
}
return false;
}