计算算法的时间复杂度

问题描述

我正在学习有关计算算法的时间复杂度的知识,有两个例子使我无法理解为什么它们的时间复杂度与我计算的不同。

阅读后,我了解到每次迭代一次计数器增加的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 (将#修改为@)