Назад к вопросам
Junior
95
questionbank
Какой алгоритм имеет логарифмическую сложность O(log n)?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Бинарный поиск.
Алгоритм бинарного поиска эффективно находит элемент в отсортированном массиве, деля его пополам на каждом шаге. Благодаря этому, время выполнения растет пропорционально логарифму размера входных данных (n).
# Python
def binary_search(arr, target):
low = 0
high = len(arr) - 1
while low <= high:
mid = (low + high) // 2 # Находим средний элемент
if arr[mid] == target:
return mid # Элемент найден
elif arr[mid] < target:
low = mid + 1 # Игнорируем левую половину
else:
high = mid - 1 # Игнорируем правую половину
return -1 # Элемент не найден