|
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
BinarySearch
(query,A,low,high):
|
|
|
/* A[low..high]
is assumed to be
|
|
|
|
sorted */
|
|
|
if (low >
high) return NotFound;
|
|
|
else {
|
|
|
mid = ë(low+high)/2û;
|
|
|
if (query < A[mid]) return
|
|
|
BinarySearch(A,low,mid-1);
|
|
|
else if (query > A[mid]) return
|
|
|
BinarySearch(A,mid+1,high);
|
|
else return mid;
|
|
|
}
|
|
|
|
 |
 |
 |
 |
 |
 |
| • |
Recurrence
is
|
|
|
|
T(n) =
T(n/2) + 1 and T(1) = 1
|
|
| • |
Solution
is
|
|
|
|
T(n) =
O(log n)
|
|
|
|