很抱歉,如果已经提出这个问题,我不确定如何搜索它。
假设你有以下循环
for (i=0; i < n; i++)
for(j = i; j < n; j++)
这是O(n ^ 2)还是O(nlog(n))以及为什么?
答案 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