Considere o seguinte método binSearch() dessa classe: A pesquisa binária será efetuada na seguinte lista: a = [4, 7, 9, 11, 20, 24, 30, 41] Quantas iterações serão necessárias efetuar para determinar que 27 não está na lista?
Considere o seguinte método binSearch() dessa classe:
int binSearch(int key) {
// Efetua uma pesquisa binária por uma chave numa array.
// Pré-condição: A array a[0]...a[length-1] está ordenada
// Pós-condição: Se key não está em v, então devolve -1.
int low = 0;
int high = length - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (a[mid] == key) {
return mid;
} else if (a[mid] < key) {
low = mid + 1;
} else {
high = mid - 1;
}
}
return -1;
}A pesquisa binária será efetuada na seguinte lista:
a = [4, 7, 9, 11, 20, 24, 30, 41]
Quantas iterações serão necessárias efetuar para determinar que 27 não está na lista?