From 7e78cb2b73194d822bb5c85fdee1e04962a6fda9 Mon Sep 17 00:00:00 2001 From: abdulmoizsheraz Date: Sun, 1 Oct 2023 09:45:54 +0500 Subject: [PATCH] [FEATURE REQUEST] Implement Recursive Binary Search algorithm --- .../searches/RecursiveBinarySearch.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/main/java/com/thealgorithms/searches/RecursiveBinarySearch.java diff --git a/src/main/java/com/thealgorithms/searches/RecursiveBinarySearch.java b/src/main/java/com/thealgorithms/searches/RecursiveBinarySearch.java new file mode 100644 index 000000000000..684804c78edc --- /dev/null +++ b/src/main/java/com/thealgorithms/searches/RecursiveBinarySearch.java @@ -0,0 +1,23 @@ +package com.thealgorithms.searches; + +public class RecursiveBinarySearch { + public static void main(String[] args) { + int[] arr={34,65,78,98,670}; + System.out.println(BinarySearch(arr,98,0, arr.length-1)); + } + static int BinarySearch(int[] arr,int target,int start,int end){ + int middleElementIndex=(start+end)/2; + // Base Conditions for Recursion + if(start>end){ + return -1; + } + if(arr[middleElementIndex]==target){ + return middleElementIndex; + } + if(middleElementIndex>target){ + return BinarySearch(arr,target,start,middleElementIndex-1); + } + + return BinarySearch(arr,target,middleElementIndex+1, end); + } +}