Binary Search
Pre-condition
Aim
Invariant
Code
public int BSearch(A, key, n) {
begin = 0;
end = n - 1;
while begin < end {
mid = begin + (end - begin)/2 // to avoid overflow error, we don't use (begin+end)/2
if key <= A[mid] {
end = mid;
} else {
begin = mid + 1;
}
return (A[begin] == key) ? begin : - 1Running time
Questions
Last updated