Встречается на собеседованиях • сегодня

Почему бинарный поиск отдает логарифм

Бинарный поиск имеет логарифмическую сложность O(log 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

Почему log₂n?

  • Изначально n элементов.
  • После 1 шага остаётся n/2.
  • После 2 шага — n/4.
  • В худшем случае поиск завершится, когда останется 1 элемент.

Уравнение:
n / (2^k) = 1 → k = log₂n.

Таким образом, максимальное число шагов — логарифм от n.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы