Что такое двоичный поиск

Python Junior Без компании
Что такое двоичный поиск
Ответы
Двоичный (бинарный) поиск — это алгоритм поиска элемента в отсортированном массиве, который работает за время O(log n). Он делит массив пополам и сравнивает искомый элемент с элементом в середине, затем исключает одну из половин и повторяет процесс. **Ключевые моменты:** - Работает только с отсортированными данными - Эффективнее линейного поиска (O(n)) для больших массивов - Использует принцип "разделяй и властвуй" **Пример на Python:** ``` def binary_search(arr, target): left, right = 0, len(arr) - 1 while left <= right: mid = (left + right) // 2 if arr[mid] == target: return mid elif arr[mid] < target: left = mid + 1 else: right = mid - 1 return -1 # Элемент не найден ``` **Нюансы:** - Может быть реализован как итеративно, так и рекурсивно - Важно правильно выбирать границы (включительно/исключительно) - Может использоваться для поиска в монотонных функциях