Реализация рекурсивного двоичного поиска Java для отсортированных массивов

Вот пример реализации рекурсивного двоичного поиска 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 в примере массива.