Встречается на 1% собеседований по Python
Какие знаешь вычислительные сложности алгоритмов
Временная сложность (Big O) показывает, как растёт время выполнения алгоритма с увеличением размера входных данных. Основные варианты:
- O(1) – константное время (доступ к элементу массива)
python
arr[0] # O(1)- 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- O(n) – линейное (поиск в неотсортированном массиве)
python
for x in arr: # O(n)
print(x)- O(n log n) – (быстрая сортировка, сортировка слиянием)
python
sorted(arr) # Timsort: O(n log n)- O(n²) – квадратичное (пузырьковая сортировка)
python
for i in range(n): # O(n²)
for j in range(n):
print(i, j)- O(2ⁿ) – экспоненциальное (рекурсивный Фибоначчи без мемоизации)
python
def fib(n):
if n <= 1: return n
return fib(n-1) + fib(n-2) # O(2ⁿ)Также есть пространственная сложность – потребление памяти. В реальных задачах важно учитывать оба типа сложности.

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