java二分查找递归算法
时间: 2023-05-11 21:05:11 浏览: 123
二分查找是一种常见的查找算法,它可以在有序数组中快速查找指定元素。递归算法是一种常见的实现方式,其基本思路是将数组分成两部分,如果中间元素等于目标元素,则返回中间元素的下标;如果中间元素大于目标元素,则在左半部分继续查找;如果中间元素小于目标元素,则在右半部分继续查找。以下是 Java 语言实现的二分查找递归算法:
```
public static int binarySearch(int[] arr, int target, int left, int right) {
if (left > right) {
return -1;
}
int mid = left + (right - left) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] > target) {
return binarySearch(arr, target, left, mid - 1);
} else {
return binarySearch(arr, target, mid + 1, right);
}
}
```
其中,arr 表示有序数组,target 表示目标元素,left 表示左边界,right 表示右边界。初始时,left 为 0,right 为数组长度减一。如果查找成功,则返回目标元素的下标;否则返回 -1。
阅读全文