Почти все книги про алгоритмы начинаются с этого. Почему? Да потому что этот алгоритм лежит в основе системной функций сортировки, почти во всех языках.
В чем его идея?
Мы делим пополам заранее отсортированный массив, чтобы обнаружить нужный элемент. Вот и всё.
Алгоритм такой:
- Сортируем массив данных
- Делим его пополам и находим середину.
- Сравниваем средний элемент с заданным искомым элементом.
- Если искомое число больше среднего — продолжаем поиск в правой части массива (если он отсортирован по возрастанию): делим ее пополам, повторяя пункт 3. Если же заданное число меньше — алгоритм продолжит поиск в левой части массива, снова возвращаясь к пункту 3.
Ресурсы
Алгоритм бинарного(двоичного) поиска на Swift, iOS разработка

