Что такое Big O в алгоритме
Python
Junior
Без компании
Что такое Big O в алгоритме
Ответы
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(1) — доступ по индексу
def get_first_element(arr):
return arr[0] if arr else None
```
Big O помогает оценить эффективность алгоритма, игнорируя константы и низкоуровневые оптимизации.