运行嵌套循环的时间

时间:2014-10-19 00:39:46

标签: time-complexity big-o

很抱歉,如果已经提出这个问题,我不确定如何搜索它。

假设你有以下循环

    for (i=0; i < n; i++)
         for(j = i; j < n; j++)

这是O(n ^ 2)还是O(nlog(n))以及为什么?

2 个答案:

答案 0 :(得分:7)

外循环的运行时(单独)是O(n),内循环的运行时是O(n-i)。所以循环的时间将是(n)(n-i),当你丢弃常量i时,运行时将是O(n ^ 2)。

答案 1 :(得分:0)

外循环的运行时间为O(n),内循环的运行时间为O(n-i)。因此循环的时间为(n)(n-i),当您丢弃常数i时,运行时间将为N * N = O(N ^ 2