Бинарный поиск
Реализация двоичного поиска.
Будем считать, что поиск происходит по массиву целых чисел , элементы которого расположены в порядке возрастания.
Пусть - искомое число.
Путь также - левая граница поиска (т.е. ), а - правая граница поиска ().
Положим , и если - обновим левую границу , в противном случаев обновим правую границу . Продолжая, в конечном итоге получим, что . Тогда в в конце работы алгоритма будет содержаться либо номер самого первого вхождения в , либо номер первого числа, строго большего , если самого числа нет в массиве.
Пример реализации на языке Python:
Пример реализации на языке C++:
Leave a Comment
Your email address will not be published. Required fields are marked *