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

Python Senior Без компании
Что такое алгоритмическая сложность
Ответы
Алгоритмическая сложность (или временная сложность) — это оценка времени выполнения алгоритма в зависимости от размера входных данных. Обычно выражается в нотации "О-большое" (Big-O), которая показывает наихудший сценарий. Основные виды сложности: - O(1) — константное время (доступ к элементу массива) - O(log n) — логарифмическое (бинарный поиск) - O(n) — линейное (поиск в неотсортированном массиве) - O(n log n) — (быстрая сортировка) - O(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): left, right = 0, len(arr) - 1 while left <= right: mid = (left + right) // 2 if arr[mid] == target: return True elif arr[mid] < target: left = mid + 1 else: right = mid - 1 return False ```