Что такое двоичный поиск
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 # Элемент не найден
```
**Нюансы:**
- Может быть реализован как итеративно, так и рекурсивно
- Важно правильно выбирать границы (включительно/исключительно)
- Может использоваться для поиска в монотонных функциях