my dog learned polymorphism*
The moose likes Beginning Java and the fly likes Binary Search Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Binary Search" Watch "Binary Search" New topic

Binary Search

Pawan Arora
Ranch Hand

Joined: Sep 14, 2008
Posts: 105

I don't know why in the above programme the result of binary search is -2. Any reason?
Rob Spoor

Joined: Oct 27, 2005
Posts: 19675

You'll need to sort the array first. Binary search by definition works only on sorted arrays. This is because of the way it searches for elements:

1) start at the center
2) check the current element
a) if equal then done
b) if smaller then all previous elements are smaller; get the binary search of the second half of the array
c) if larger then all next elements are larger; get the binary search of the first half of the array

In the end the first / second half of the array will be only one element and the recursion can end.
[ November 23, 2008: Message edited by: Rob Prime ]

How To Ask Questions How To Answer Questions
I agree. Here's the link:
subject: Binary Search