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

Что такое алгоритмическая сложность

Алгоритмическая сложность (или временная сложность) — это оценка времени выполнения алгоритма в зависимости от размера входных данных. Обычно выражается в нотации "О-большое" (Big-O), которая показывает наихудший сценарий.

Основные виды сложности:

  • O(1) — константное время (доступ к элементу массива)
  • O(log n) — логарифмическое (бинарный поиск)
  • O(n) — линейное (поиск в неотсортированном массиве)
  • O(n log n) — (быстрая сортировка)
  • O(n²) — квадратичное (пузырьковая сортировка)

Пример с поиском:

python
# O(n) — линейный поиск
def linear_search(arr, target):
    for item in arr:
        if item == target:
            return True
    return False

# O(log n) — бинарный поиск (требует отсортированный массив)
def binary_search(arr, target):
    left, right = 0, len(arr) - 1
    while left <= right:
        mid = (left + right) // 2
        if arr[mid] == target:
            return True
        elif arr[mid] < target:
            left = mid + 1
        else:
            right = mid - 1
    return False
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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