Recursive Binary Search
This program performs binary search using recursion.
Problem Statement
Write a Java program to search for a given element in a sorted integer array using recursive binary search.
Source Code
| 1 | public class RecursiveBinarySearch { |
| 2 | public static int binarySearch(int[] arr, int low, int high, int key) { |
| 3 | if(low > high) return -1; |
| 4 | int mid = (low + high)/2; |
| 5 | if(arr[mid] == key) return mid; |
| 6 | else if(arr[mid] < key) return binarySearch(arr, mid+1, high, key); |
| 7 | else return binarySearch(arr, low, mid-1, key); |
| 8 | } |
| 9 | public static void main(String[] args) { |
| 10 | System.out.println("Eduinq Recursive Binary Search"); |
| 11 | int[] arr = {5,10,15,20,25,30}; |
| 12 | int key = 25; |
| 13 | int result = binarySearch(arr,0,arr.length-1,key); |
| 14 | if(result!=-1) System.out.println("Element found at index: "+result); |
| 15 | else System.out.println("Element not found"); |
| 16 | } |
| 17 | } |
Program Output
Eduinq Recursive Binary Search Element found at index: 4
Explanation
The recursive function divides the array into halves, with the base case checking if low exceeds high, and each recursive call narrows the search range based on comparing the middle element with the key, demonstrating recursive binary search.