[英]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
。
因此,就复杂度而言,约为n²
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.