Я бы сказал, что строка 1 выполняется один раз, и это приводит к тому, что строка 2 выполняется n
раз.индекс списка O (n), а sum
также O (n).деление, сложение и присвоение - все O (1).
compute
, следовательно, O (N ^ 2), так как самые большие члены оценивают O (n) операцию O (n) раз.
обратите внимание, что, как написано, он отбрасывает все промежуточные результаты, поэтому его можно переписать как:
def compute(a_list):
return sum(a_list[0:n])/n
, что будет O (n).