Двоичный поиск — алгоритм, который последовательно делит пополам заранее отсортированный массив данных, чтобы найти заданный элемент.
Алгоритм двоичного поиска осуществляется только для отсортированных по возрастанию или убыванию массивов.
Последовательность действий алгоритма:
сортируем массив данных;
делим его пополам и находим середину;
сравниваем срединный элемент с заданным элементом;
если заданный элемент больше среднего — продолжаем поиск в правой части массива (если он отсортирован по возрастанию): делим ее пополам, повторяя пункты 2 и 3. Если же заданное число меньше — продолжаем поиск в левой части массива, снова возвращаясь к пунктам 2, 3. Если элемент найден, останавливаем поиск.