Какая сложность бинарного поиска
Python
Middle
Без компании
Какая сложность бинарного поиска
Ответы
Бинарный поиск имеет временную сложность **O(log n)**. Это означает, что время выполнения алгоритма увеличивается логарифмически с ростом размера входных данных.
**Причины:**
- На каждом шаге алгоритм делит массив пополам, отбрасывая половину элементов.
- Количество шагов, необходимых для нахождения элемента, равно log₂n (где n — размер массива).
**Пример:**
```
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
```
**Примечание:** Сложность предполагает, что массив уже отсортирован. Если массив не отсортирован, его сортировка (O(n log n)) будет доминировать над бинарным поиском.