Optimize binary serach...

asadullah.ansari's Avatar, Join Date: Jan 2008
TechCake
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
TechCake
Now i want to make this problem more clear...
binary serach algo is as:
Code:
   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
           else
               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
Mentor
http://www.google.com/search?q=binary+search
The first hit is a Wiki article which probably explains everything you need to know.