This search is faster than linear search. In this search, array is split into half. Searching takes place in either half of the array by further dividing it into halves.

The array have to be **sorted** before the search.

It always compares the element to be searched with the middle element. If the middle element is smaller then, the search is carried out in upper half, otherwise the search continues in the lower half.

The middle element of either half is compared with the search item. This process is repeated till the search terminates.