Назад к вопросам
Junior
90
questionbank

Какая из сложностей быстрее: линейная или логарифмическая?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Логарифмическая.

Сравнение сложностей:

Сложность Описание Пример алгоритма
$O(\log n)$ Время выполнения растет медленно с увеличением $n$. Бинарный поиск
$O(n)$ Время выполнения растет пропорционально $n$. Проход по списку

При $ n > 2 $, $ \log n < n $.

Пример сравнения при $ n = 1000 $:

  • $ \log_2 1000 \approx 10 $
  • $ 1000 $
# Функция с логарифмической сложностью (бинарный поиск)
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

# Функция с линейной сложностью (линейный поиск)
def linear_search(arr, target):
    for i in range(len(arr)):
        if arr[i] == target:
            return i
    return -1