Бинарный поиск в сортированной таблице

 Пусть таблица содержит N записей. В начале работы алгоритма отрезок [m:n] на котором мы ищем запись с заданным ключом (возможно составным) key, это вся таблица. Сравним k-ю запись в середине отрезка с искомым ключом key. Если ключ key меньше ключа k-й записи, то перенесём правую границу n отрезка в точку k, иначе перенесём туда левую границу. Применяя каждый раз это действие к отрезку [m:n], мы сужаем его вдвое. В конце концов за не более чем log2N+1 шагов мы достигнем того места, в котором находится, или могла бы находиться искомая запись.

  Функция bsearch, реализующая описанный процесс, включена в библиотеку подпрограмм для большинства алгоритмических языков программирования.