Optimize binary serach...

asadullah.ansari's Avatar, Join Date: Jan 2008
All of you alraedy know the binary search..I need not to explain that algorithm...
we know that there are two compariosions one for greater than mid value and other is for less than mid value. Optimize this algorithm/program so that only one comparision shoul happened in that algorithm?

Note: binary search means not a binary serch tree.... BST algorithm is totally different that Binary Serch algorithm.
asadullah.ansari's Avatar, Join Date: Jan 2008
Now i want to make this problem more clear...
binary serach algo is as:
   BinarySearch(A[0..N-1], value) {
       low = 0
       high = N - 1
       while (low <= high) {
           mid = (low + high) / 2
           if (A[mid] > value)             ///First check
               high = mid - 1
           else if (A[mid] < value)       //second check
               low = mid + 1
               return mid // found
       return -1 // not found
In a while loop there is two check(if condition) ...You have to reduce it by one inside while loop.

Last edited by shabbir; 20Jan2009 at 12:39.. Reason: More detail / Code Blocks
xpi0t0s's Avatar, Join Date: Aug 2004
The first hit is a Wiki article which probably explains everything you need to know.