Big-O 表記法を使用して、このアルゴリズムの時間の複雑さを理解するのに助けが必要です。乾杯。
int binarySearch(int[] array, int key) {
int lo = 0, mid, hi = array.length-1;
while (lo <= hi) {
mid = (lo + hi)/2;
if (key < array[mid])
hi = mid - 1;
else if (array[mid] < key)
lo = mid + 1;
else return mid; // success
}
return -1; // failure
}