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

Python Junior Без компании
Что такое сложность алгоритмов
Ответы
Сложность алгоритма — это оценка количества ресурсов (времени или памяти), которые потребуются алгоритму для выполнения в зависимости от размера входных данных. Измеряется с помощью нотации Big-O (O-большое). **Основные виды сложности:** - **O(1)** — константная (доступ к элементу массива) - **O(log n)** — логарифмическая (бинарный поиск) - **O(n)** — линейная (поиск в неотсортированном массиве) - **O(n log n)** — линейно-логарифмическая (быстрая сортировка) - **O(n²)** — квадратичная (пузырьковая сортировка) - **O(2ⁿ)** — экспоненциальная (рекурсивный Фибоначчи) **Пример:** ``` # 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] ```