问题描述
我正在学习有关计算算法的时间复杂度的知识,有两个例子使我无法理解为什么它们的时间复杂度与我计算的不同。
阅读后,我了解到每次迭代一次计数器增加的for循环的时间复杂度为 O(n),而具有不同迭代条件的嵌套for循环为 O(n * m)。
这是我提出的时间复杂度为O(n)但解决方案显示为O(1)的第一个问题:
function PrintColours():
colours = { "Red","Green","Blue","Grey" }
foreach colour in colours:
print(colour)
这是第二个,我提供了时间复杂度为O(n ^ 2),但是解决方案说它的O(n):
function CalculateAverageFromTable(values,total_rows,total_columns):
sum = 0
n = 0
for y from 0 to total_rows:
for x from 0 to total_columns:
sum += values[y][x]
n += 1
return sum / n
这两个问题我怎么了?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)