Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 嵌入循环算法的时间复杂度_Algorithm_Big O - Fatal编程技术网

Algorithm 嵌入循环算法的时间复杂度

Algorithm 嵌入循环算法的时间复杂度,algorithm,big-o,Algorithm,Big O,我试图解决这个算法,但我不确定 下面是代码(尝试获取复杂性) For(i=0,i我不知道S.O.p.代表什么,但是为了这个问题,我假设它需要固定的时间-O(1) 因此,唯一剩下的就是为循环定义运行时间 for (i =0, i<N, i++) { // n times For (j=0, j<i/2, j++) { // for each time, this runs n/2 times S.O.P (“”);

我试图解决这个算法,但我不确定 下面是代码(尝试获取复杂性)


For(i=0,i我不知道S.O.p.代表什么,但是为了这个问题,我假设它需要固定的时间-O(1)

因此,唯一剩下的就是为
循环定义运行时间

for (i =0, i<N, i++) {         // n times 
    For (j=0, j<i/2, j++)  {   // for each time, this runs n/2 times
        S.O.P (“”);            // fixed time O(1)
    } 
}

所以最后的时间复杂度是O(n^2)(n的平方的O)。

你说的“解这个算法”是什么意思
S.O.P.
在这里做什么?你试过什么?什么不起作用?这实际上取决于你在做什么来代替
S.O.P
。所以最好把整件事都贴出来,而不是用
S.O.P
@WillemVanOnsem来代替你的逻辑。我试图找到这段代码的大O,S.O.P代表给出的指令啊CPU@MohamedKial请尽量说清楚一点,您提供的信息很难帮助我们。请从一开始就解释问题,包括您遇到的问题。我认为
S.O.P.
只是
System.out.println()
call的缩写。我不知道您想用
t(n)=n*(n/2)做什么*O(1)
,但请注意,循环的确切数量是
(n-1)^2/4
,在问题和本评论中都假设为整数地板分割。当然,这不会改变最后的
O(n^2)
@Jean-ClaudeArbaut你的意思是
n*(n-1)/4
?@meowgoesthedog不,我的意思是
(n-1)^2/4
for (i =0, i<N, i++) {         // n times 
    For (j=0, j<i/2, j++)  {   // for each time, this runs n/2 times
        S.O.P (“”);            // fixed time O(1)
    } 
}
T(n) = {sum for i from 0 to n} i/2 = (1/2)*(n*(n-1)/2)
T(n) = (n*(n - 1)/4) * O(1) = O(n^2/4) = O(n^2)