正如你所看到的,我对所有这些运行时分析仍然很陌生,并且想确保我计算的每一步都是正确的。我也讨厌用伪代码形式编写,所以我用 Python 来代替。
def mean(n):
sum = 0 #cost = 1
for i in n: #cost = n
sum += i #cost = n
return sum/len(n) #cost = 1
因此,平均值的总体运行时间(如果我错了,请纠正我)= O(1) + O(n) + O(n) + O(1) = O(n)
def variance(n):
var = 0 #cost = 1
for i in n: #cost = n
var += (i-mean(n))**2 #cost = n*n or n+n ??
return var / len(n) #cost = 1
问题是方差的总体运行时间是多少?你能展示所有的工作吗?