Встречается на 1% собеседований по Python
Как считается сложность алгоритма
Сложность алгоритма оценивается с помощью нотации Big O (О-большое). Она описывает, как растёт время выполнения или потребление памяти алгоритма с увеличением размера входных данных (n).
Основные виды сложности:
- O(1) – константная (доступ к элементу массива).
- O(log n) – логарифмическая (бинарный поиск).
- O(n) – линейная (проход по списку).
- O(n log n) – линейно-логарифмическая (быстрая сортировка).
- O(n²) – квадратичная (вложенные циклы).
- O(2ⁿ) – экспоненциальная (рекурсивный Фибоначчи без кеша).
Пример:
python
# O(n) – линейная сложность
def sum_list(lst):
total = 0
for num in lst: # Один цикл → O(n)
total += num
return total
# O(n²) – квадратичная сложность
def find_pairs(lst):
pairs = []
for i in lst: # Внешний цикл → O(n)
for j in lst: # Вложенный цикл → O(n * n) = O(n²)
pairs.append((i, j))
return pairsСложность определяется по худшему сценарию, игнорируя константы и меньшие члены (O(2n + 100) → O(n)).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы