【问题标题】:Total time of the loop循环总时间
【发布时间】:2015-11-02 02:44:39
【问题描述】:

我有以下循环。我想知道循环的每个步骤的总时间,下面给出了循环以及我的计算,如果我错了,请检查并纠正我。

  int count=0;
   for(int i=0 ; i<N ; i++)
     count++;

我的计算如下。

Assginments operator is taking = 2
Comparison                     = N
Increments (i++ and Count++) = N+N =2N Times

所以根据我的说法,它的3N+2 请让我知道如果我错了,请告诉我循环正文是否为count += 1; 将分配多少时间。

【问题讨论】:

  • 你说的是算法复杂度吗?
  • 为什么所有的语言标签?如果你想找到 big-O,那没关系。这将是 O(N)。你也不需要i
  • "赋值运算符采用 = 2" 什么?纳秒?微秒?摇摇羊尾巴?如果您尝试计算时间 complexity,答案将类似于 O(N),表示它与 N 成正比,但答案不包括实际比率 (3) 或附加常数(2)。答案中没有这些。
  • 这是在家完成的工作——因此是家庭作业。
  • @ChiefTwoPencils:请不要。非常感谢您的贡献。

标签: big-o


【解决方案1】:

O(N)

因为运行时线性依赖于N

甚至c*N 仍然是 O(N)。这是一条规则,您可以在算法运行时复杂度计算中忽略常数因子c。这意味着,如果您有2*N5*N247234*N,这并不重要。它总是 O(N)。

【讨论】:

    猜你喜欢
    • 2020-11-27
    • 1970-01-01
    • 2014-08-26
    • 2017-05-04
    • 2015-12-26
    • 1970-01-01
    • 2022-08-17
    • 2021-10-11
    • 1970-01-01
    相关资源
    最近更新 更多