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

Python Senior Без компании
Что такое сложность алгоритма
Ответы
Сложность алгоритма — это мера количества ресурсов (времени и памяти), которые требуются для его выполнения, в зависимости от размера входных данных. Обычно выражается с помощью нотации «О» большое (Big-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] ```