1,针对有序序列的查找算法,时间复杂度logN.
2,java代码的递归实现:
public static int binarySearch(int[] array, int target, int left, int right) {
if (left > right)
return -1;
int midIndex = (left + right) / 2;
if (target == array[midIndex]) {
return midIndex;
}
if (target < array[midIndex]) {
return binarySearch(array, target, left, midIndex - 1);
} else {
return binarySearch(array, target, midIndex + 1, right);
}
}