Binary Search in Java

Recursive version:

int recursiveBinarySearch(int[] arr, int key, int low, int high) {
        if (low > high) return -1;
        int mid = low + (high - low) / 2;
        if (arr[mid] == key) return mid;
        else if (arr[mid] < key) return recursiveBinarySearch(arr, key, mid + 1, high);
        else return recursiveBinarySearch(arr, key, low, mid - 1);
    }

Iterative version:

int iterationBinarySearch(int[] arr, int key) {
        int low = 0, high = arr.length - 1;
        while (low < high) {
            int mid = low + (high - low) / 2;
            if (arr[mid] == key) return mid;
            else if (arr[mid] > key) high = mid;
            else low = mid + 1;
        }
        return -1;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章