Какой принцип действия у алгоритма двоичного поиска
Python
Junior
Без компании
Какой принцип действия у алгоритма двоичного поиска
Ответы
Двоичный поиск — это эффективный алгоритм поиска элемента в отсортированном массиве. Он работает за время O(log n), где 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 # Элемент не найден
```
**Нюансы:**
- Массив должен быть отсортирован.
- При переполнении `mid = (left + right) // 2` лучше использовать `mid = left + (right - left) // 2`.