繁体   English   中英

复杂性(初学者问题)

[英]Complexity (beginner question)

这些陈述的复杂性是什么?

for(int k = 1; k < n; k++)
    for(int i = 0; i < n-k; i++){
        //O(1) operation here
    }

解释表示赞赏。

首先进入外部循环,您需要进行n-1次操作。 第二步,您将其执行n-2次,...将所有内容相加,将得到(n)*(n-1)/2运算。

要查看该总和,请将其从1写入(n-1),然后从(n-1)写入1,然后逐项相加。

  1   2   3 ... n-3 n-2 n-1
n-1 n-2 n-3 ...   3   2   1
---------------------------
  n   n   n       n   n   n

所以2 * sum = (n-1) * n

因此,就复杂度而言,约为

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM