Встречается на 4% собеседований по Python
Что такое сложность алгоритма
Сложность алгоритма — это мера количества ресурсов (времени и памяти), которые требуются для его выполнения, в зависимости от размера входных данных. Обычно выражается с помощью нотации «О» большое (Big-O).
Виды сложности:
- O(1) — константная (доступ к элементу массива).
- O(log n) — логарифмическая (бинарный поиск).
- O(n) — линейная (поиск в неотсортированном массиве).
- O(n log n) — линейно-логарифмическая (быстрая сортировка).
- O(n²) — квадратичная (пузырьковая сортировка).
- O(2ⁿ) — экспоненциальная (рекурсивное вычисление чисел Фибоначчи).
Пример:
python
# O(n) — линейная сложность
def linear_search(arr, target):
for item in arr:
if item == target:
return True
return False
# O(n²) — квадратичная сложность
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы