Принцип оптимального двоичного поиска (бинарного поиска) заключается в том, что на каждом шаге множество объектов делится на две части, и в работе остаётся та часть множества, где находится искомый объект. neerc.ifmo.ru
Основная последовательность действий алгоритма: blog.skillfactory.ru
- Сортировать массив данных. blog.skillfactory.ru Чаще всего элементы сортируют по возрастанию. gb.ru
- Делить массив пополам и находить середину. blog.skillfactory.ru
- Сравнивать срединный элемент с заданным искомым элементом. blog.skillfactory.ru
- Если искомое число больше среднего, продолжать поиск в правой части массива (если он отсортирован по возрастанию): делить её пополам, повторяя пункт 3. blog.skillfactory.ru
- Если же заданное число меньше, алгоритм продолжит поиск в левой части массива, снова возвращаясь к пункту 3. blog.skillfactory.ru
Поиск прекращается, когда обнаруживается совпадение граничного элемента между двумя разделёнными блоками с заданным, или когда заданный элемент не обнаруживается вовсе. gb.ru