binary search


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;
     first = mid+1;
 if (target == thing[last])
   return last;
 return NOT_FOUND;

Last updated: 2003-01-14

Nearby terms:

binary relationbinary searchBinary Synchronous Transmission

Try this search on Wikipedia, Wiktionary, Google, OneLook.