The ones who are crazy enough to think they can change the world are the ones who do.- Steve Jobs
Binary search, also called as half-interval search or logarithmic search, because it works efficiently with a sorted list. The working of binary search can be clearly understood by an analogy of alphabets in English.
step 1: Choose which letter in alphabets is to find using binary search say "L".
step 2: In binary search, the searching point moves to the middle element in of the alphabets say "M" and then decide which direction the searching point is to move.
step 3: Either left or right. In this case the searching point moves towards left.
step 4: Hopefully, next element to the letter M is "L". Thus binary search algorithm utilized the time effectively to match the Key element (L) in the alphabets.
Here is the program to demonstrate Binary Search.
#include <stdio.h>
int main()
{
int arry[10], key, i, n, beg, end, mid, found = 0;
printf("\n Enter the size of the array : ");
scanf("%d", &n);
printf("\n Enter %d elements in the array : \n",n);
for(i=0; i < n; i++)
{
scanf("%d", &arry[i]);
}
printf("\n Enter the key element that has to be search : ");
scanf("%d", &key);
beg= 0, end= n-1;
while ( beg <= end)
{
mid = (beg + end) / 2;
if(arry[mid] == key)
{
printf("\n %d is found in the array at position arry [%d]", key, mid);
found=1;
break;
}
else if(arry[mid] > key)
end = mid - 1;
else
beg = mid + 1;
}
if(beg > end && found == 0)
printf("\n %d does not exist in the array", key);
return 0;
}
Enter the size of the array : 5 Enter 5 elements in the array : 1 2 3 4 5 Enter the key element that has to be search : 3 3 is found in the array at position arry [2]
We may make mistakes(spelling, program bug, typing mistake and etc.), So we have this container to collect mistakes. We highly respect your findings.
© Copyright 2019