Бинарный поиск в Java: эффективный алгоритм поиска значений в отсортированных массивах

В Java алгоритм двоичной сортировки широко известен как алгоритм двоичного поиска. Это эффективный метод поиска определенного целевого значения в отсортированном массиве. Вот пример реализации двоичного поиска в Java:

public class BinarySearch {
    public static int binarySearch(int[] array, int target) {
        int left = 0;
        int right = array.length - 1;
        while (left <= right) {
            int mid = left + (right - left) / 2;
            if (array[mid] == target) {
                return mid;
            } else if (array[mid] < target) {
                left = mid + 1;
            } else {
                right = mid - 1;
            }
        }
        return -1; // Target value not found
    }
    public static void main(String[] args) {
        int[] array = {2, 5, 8, 12, 16, 23, 38, 56, 72, 91};
        int target = 23;
        int result = binarySearch(array, target);
        if (result == -1) {
            System.out.println("Target value not found.");
        } else {
            System.out.println("Target value found at index: " + result);
        }
    }
}

Эта реализация выполняет двоичный поиск в отсортированном массиве и возвращает индекс целевого значения, если оно найдено, или -1, если целевое значение отсутствует в массиве.