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.

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.

http://www.google.com/search?q=binary+search The first hit is a Wiki article which probably explains everything you need to know.