这些for循环的时间复杂度是多少

时间:2016-10-23 14:26:45

标签: for-loop time-complexity

我有两个for循环

for(int i = 2; i <= n / 2; i++){
    for(int j = 2 * i; j <= n; j++){
    }
}

他们的时间复杂度是多少?我的想法是迭代的总数将是(n - 4)+(n - 6)+(n - 8)+ .... + 4 + 2 + 1.这是指时间复杂度是O( N)?谢谢

如果我将j ++改为j + = i怎么办?如何计算迭代次数?

3 个答案:

答案 0 :(得分:0)

整体TC应为O(N^2)

O(N)表示内部循环的外部和O(N)

答案 1 :(得分:0)

您可以使用Sigma表示法有条不紊地进行:

enter image description here

答案 2 :(得分:-1)

你是对的。时间复杂度为O(n)