Binary search program | Binary Search in c | Binary search example

In this article Binary search program we give the information about binary search example, binary search tree in data structure, binary search program in c and Binary search in data structure.

Binary Search in c:

Binary search is most powerful and efficient searching method. The binary search method can be use only with the data, which is already in the sorted order.

In this method, the given element that is to be search is compared with the middle element of given array.

There are three cases in this method.

1. If the given element for searching is same as middle element of an array then search is successful.
2. If the given element for searching is less than a middle element of an array, then searching is done only is first half of array.
3. If the given element for searching is greater than a middle element of an array, then searching is done only in second half of array.
 First Half of an array Middle element of an array Second half of an array

Binary Search Algorithm:

Step 1:                Start

2:                        Read n elements of an array arr[] in sorted order Or Read n elements of an array arr[] and sort the elements.

3:                        Read element Y to be search

4:                        set beg=0 and end =n-1

5:                        Calculate mid = (beg + end)/ 2;

6:                        if Y=arr[mid] then

Display “Element is found…..search successful ” and go to  step 10.

7:                       if Y<arr[mid] then

End=mid-1

Otherwise

beg = mid + 1

8:                       if beg < = end then go to step 5

10:                     Stop.

Binary Search Example:

Consider the elements of an array as follows

 Index 0 1 2 3 4 5 6 7 8 9 Value 16 19 21 23 28 36 53 62 69 76

The element to be search is 53.

Iteration – 1:

Beg=0, end=9, mid=(0 + 9) / 2 = 4

 Index 0 1 2 3 4 5 6 7 8 9 Value 16 19 21 23 28 36 53 62 69 76

As the mid is 4, therefore the middle element is 28.

Compare middle element 28 with 53.

Since 53 > 28, Search the element in the right portion of the array.

Hence, now beg = mid + 1, i.e. 4 + 1 = 5

There is no change in the value of end.

Iteration – 2:

Beg = 5, end =9, mid = ( 5 + 9 ) / 2 = 7

 Index 0 1 2 3 4 5 6 7 8 9 Value 16 19 21 23 28 36 53 62 69 76

As the mid is 7, therefore the middle element is 62.

Compare middle element 62 with 53.

Since 53 < 62, search the element in the left portion of the array.

Hence, now end = mid = 7. There is no change in the value of beg.

Iteration – 3:

Beg = 5, end = 7, mid = ( 5 + 7 ) / 2 = 6

 Index 0 1 2 3 4 5 6 7 8 9 Value 16 19 21 23 28 36 53 62 69 76

Here we find the index of element to be search. Now we can access the value using index. Thus, search is successful.

Binary Search Program:

void main()

{

int arr[11]={2,13,16,23,36,48,56,63,79,82,90};

int beg=0,end=10,mid=0,n=0, flag=0;

printf(“\n Enter element to be search : ”);

scanf(“%d”,&n);

while((beg<=end) && (n!=arr[mid]))

{

mid(beg+end)/2;

if(n==arr[mid])

{

printf(“\n Search is successful…”);

flag=1;

break;

}

if(n<arr[mid])

end=mid-1;

else

beg=mid+1;

}

if(flag==0)

printf(“\n Search is not successful…”);

}

O/P:

Enter element to be search : 25

Search is not successful…

Searching Applications:

1. To search a particular record in database.
2. To retrieve a data from storage device speedily and efficiently.