**Algorithm :**

- Algorithm is quite simple. It can be done either recursively or iteratively:
- get the middle element;
- if the middle element equals to the searched value, the algorithm stops; otherwise, two cases are possible:
- searched value is less, than the middle element.
- In this case, go to the step 1 for the part of the array, before middle element. searched value is greater, than the middle element. In this case, go to the step 1 for the part of the array, after middle element.

**Java version of the**

**Recursive**

**binary search is given below :**

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package binarysearcharray; /** * * @author ACHCHUTHAN */ public class BinarySearchRec { int[] array = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30}; public int binarySearch(int key, int l, int r) { if (r < l) { return -1; } int mid = (l + r) / 2; if (key == array[mid]) { return mid; } if (key < array[mid]) { return binarySearch(key, l, mid - 1); } else { return binarySearch(key, mid + 1, r); } } public static void main(String[] args) { BinarySearchRec b = new BinarySearchRec(); for (int i = 2; i < 32; i += 2) { System.out.println("Search for element " + i); System.out.println("This element is found at " + b.binarySearch(i, 0, 14)); System.out.println("=======+============+=======+=============="); } } }

**Output of this program :**

run:

Search for element 2

This element is found at 0

=======+============+=======+==============

Search for element 4

This element is found at 1

=======+============+=======+==============

Search for element 6

This element is found at 2

=======+============+=======+==============

Search for element 8

This element is found at 3

=======+============+=======+==============

Search for element 10

This element is found at 4

=======+============+=======+==============

Search for element 12

This element is found at 5

=======+============+=======+==============

Search for element 14

This element is found at 6

=======+============+=======+==============

Search for element 16

This element is found at 7

=======+============+=======+==============

Search for element 18

This element is found at 8

=======+============+=======+==============

Search for element 20

This element is found at 9

=======+============+=======+==============

Search for element 22

This element is found at 10

=======+============+=======+==============

Search for element 24

This element is found at 11

=======+============+=======+==============

Search for element 26

This element is found at 12

=======+============+=======+==============

Search for element 28

This element is found at 13

=======+============+=======+==============

Search for element 30

This element is found at 14

=======+============+=======+==============

BUILD SUCCESSFUL (total time: 0 seconds)