找出最坏情况下的运行时间T(n)及其在O符号中的复杂性

时间:2018-03-05 02:45:05

标签: time-complexity big-o

以下是我与之合作的问题:

Algorithm Income ()

   int i=0;
   while i<n
   .....

我的想法:我认为 t(n)= n O(n)。 为什么我认为:我认为这是因为,当我初始化i=0时,该操作成本为1,当我检查while条件时,操作为n-1。 因此,如果我将所有操作加在一起,我就会得到n。

如果有人能帮助我理解如何解决这个问题或帮助修改我的理解,那么我将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

我想对你的理解做出的一个修正是2个操作: int i=0;while i<n是独立的,因此会增加费用。

让我们将i=0的通话费用作为 c1 并正确提及 c1 = 1

while i<n的通话费用为 c2 。 现在c2 不会是n-1 。它将 n 。原因是你从0开始一路走到 n-1 。如果您从1变为n-1,成本将 n-1

总成本= c1 + c2 = n + 1。

现在对于更大的n,我们可以忽略常数成本1,因此我们说它是O(n)