#!/usr/bin/env python3
a = [3, 2, 6, 34, 5] # O(n)
for i in range(5): # O(n)
if a[i] > 5: # ?
print(a[i]) # O(1)
Помогите пожалуйста посчитать сложность. У меня проблема со строкой:
if a[i] > 5:
как понимаю, здесь придётся оценивать две операции(извлечение из словаря по ключу и сравнение >). Видимо, расчёт сложности для этой строки выглядит так?
O(1) + O(1) = O(2) -> константы сокращаем до единицы -> O(1)
В итоге сложность всего алгоритма получилась такая:
O(n) + O(n) + O(1) + O(1) = O(2n) + O(2) -> константы сокращаем до единицы -> O(2n + 1)