Известна ли характеристика сложности алгоритмов

Python Junior Без компании
Известна ли характеристика сложности алгоритмов
Ответы
Да, характеристика сложности алгоритмов называется **Big O notation** (O-нотация). Она описывает, как растёт время выполнения или потребление памяти алгоритма с увеличением размера входных данных. **Основные виды сложности:** - **O(1)** – константная (доступ к элементу массива) - **O(log n)** – логарифмическая (бинарный поиск) - **O(n)** – линейная (поиск в неотсортированном массиве) - **O(n log n)** – линейно-логарифмическая (быстрая сортировка) - **O(n²)** – квадратичная (пузырьковая сортировка) - **O(2ⁿ)** – экспоненциальная (рекурсивный Фибоначчи) **Пример:** ``` # O(n) – линейная сложность def find_max(arr): max_val = arr[0] for num in arr: # Проход по всем элементам if num > max_val: max_val = num return max_val ``` Big O учитывает **наихудший сценарий** и игнорирует константы (например, O(2n) → O(n)).