ORithm> A search algORithm which repeatedly divides an ORdered search space in half accORding to how the required (key) value compares with the middle element. The following pseudo-C routine perfORms a binary search return the index of the element of vectOR "thing[first..last]" equal to "target": if (target < thing[first] || target > thing[last]) return NOT_FOUND while (first < last) { mid = (first+last)/2 /* truncate to integer */ if (target == thing[mid]) return mid if (target < thing[mid]) last = mid-1 else first = mid+1 } if (target == thing[last]) return last return NOT_FOUND (2003-01-14)