Вот пример реализации рекурсивного двоичного поиска Java:
public class BinarySearch {
public static int recursiveBinarySearch(int[] array, int target, int low, int high) {
if (low > high) {
return -1; // Target not found
}
int mid = (low + high) / 2;
if (array[mid] == target) {
return mid; // Target found at index mid
} else if (array[mid] > target) {
return recursiveBinarySearch(array, target, low, mid - 1); // Search in left half
} else {
return recursiveBinarySearch(array, target, mid + 1, high); // Search in right half
}
}
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int target = 7;
int result = recursiveBinarySearch(array, target, 0, array.length - 1);
if (result == -1) {
System.out.println("Target not found");
} else {
System.out.println("Target found at index " + result);
}
}
}
В этой реализации метод recursiveBinarySearchвыполняет двоичный поиск в отсортированном массиве, чтобы найти целевой элемент. В качестве параметров он принимает массив, целевое значение, низкий индекс и высокий индекс. Если цель найдена, возвращается индекс цели в массиве. Если цель не найдена, возвращается -1.
Метод main демонстрирует, как использовать метод recursiveBinarySearchдля поиска целевого значения 7 в примере массива.