Назад к вопросам
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  # Элемент не найден