Двоичный поиск: быстро находить в отсортированных данных
Коротко: Двоичный поиск на каждом шаге делит диапазон поиска отсортированного списка пополам и поэтому требует лишь логарифмического числа сравнений вместо линейного.
Подробнее: Как угадывание числа от 1 до 100 («больше/меньше?»): всегда смотрите на середину, затем отбрасывайте неподходящую половину. Условие: данные отсортированы, а доступ к любой позиции быстрый (массив).
Подробности
Идея и порядок действий
left = 0, `right = …
См. также: О-нотация, сортировка, B-дерево