Какое основное вычислительное свойство у алгоритма
Python
Junior
Без компании
Какое основное вычислительное свойство у алгоритма
Ответы
Алгоритмы оцениваются по их временной и пространственной сложности, которые описывают, как растёт потребление времени и памяти в зависимости от размера входных данных (Big O notation).
**Пример:**
```
# 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(n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
```
Ключевые классы сложности:
- **O(1)** — константное время (доступ по индексу в списке)
- **O(log n)** — логарифмическое (бинарный поиск)
- **O(n)** — линейное (поиск в неотсортированном массиве)
- **O(n log n)** — эффективные сортировки (merge sort, quick sort)
- **O(n²)** — медленные алгоритмы (сортировка пузырьком)