Зачем нужна сложность алгоритма
Python
Senior
Без компании
Зачем нужна сложность алгоритма
Ответы
Сложность алгоритма (O-нотация) помогает оценить эффективность алгоритма по времени выполнения и использованию памяти при увеличении размера входных данных. Она позволяет сравнить алгоритмы и выбрать оптимальный для конкретной задачи.
**Пример:**
```
# 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
```
Бинарный поиск эффективнее линейного для больших массивов, так как его сложность растет медленнее.