Что такое Big O

Python Junior Без компании
Что такое Big O
Ответы
Big O — это нотация для описания асимптотической сложности алгоритмов. Она показывает, как растёт время выполнения или потребление памяти при увеличении размера входных данных. **Примеры:** - **O(1)** — константная сложность (доступ к элементу массива по индексу). - **O(n)** — линейная сложность (поиск в неотсортированном списке). - **O(n²)** — квадратичная сложность (вложенные циклы). - **O(log n)** — логарифмическая сложность (бинарный поиск). ``` # O(n) — линейный поиск def linear_search(arr, target): for item in arr: if item == target: return True return False # O(log n) — бинарный поиск def binary_search(arr, target): low, high = 0, len(arr) - 1 while low <= high: mid = (low + high) // 2 if arr[mid] == target: return True elif arr[mid] < target: low = mid + 1 else: high = mid - 1 return False ``` Big O оценивает худший сценарий, игнорируя константы и меньшие члены (например, O(2n + 3) → O(n)).