Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.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 If语句循环的时间复杂度_Algorithm_Time_Complexity Theory - Fatal编程技术网

Algorithm If语句循环的时间复杂度

Algorithm If语句循环的时间复杂度,algorithm,time,complexity-theory,Algorithm,Time,Complexity Theory,如果我有这样一个循环: for(int i=0;i<n;i++) { if(i%2==0) { // do something } } 如果//do something代码的时间复杂度是线性的,那么时间复杂度将是多少。if语句在每次迭代中执行,并且是常数时间。假设保护码是线性的。它将在一半的时间内执行,但由于大O符号的工作方式,1/2的系数会下降。因此,总的时间复杂度是二次的,或在*n上。if语句在每次迭代中执行,并且是恒定时间。假设保护码是线性的

如果我有这样一个循环:

for(int i=0;i<n;i++)
{
    if(i%2==0)
    {
        // do something
    }
}

如果//do something代码的时间复杂度是线性的,那么时间复杂度将是多少。

if语句在每次迭代中执行,并且是常数时间。假设保护码是线性的。它将在一半的时间内执行,但由于大O符号的工作方式,1/2的系数会下降。因此,总的时间复杂度是二次的,或在*n上。

if语句在每次迭代中执行,并且是恒定时间。假设保护码是线性的。它将在一半的时间内执行,但由于大O符号的工作方式,1/2的系数会下降。因此,总的时间复杂度是二次的,或者在*N.

< P>当你谈论时间复杂性时,你通常会谈论最坏的情况,所以你考虑条件是真的,然后决定复杂性。
在给定的psuedo代码中,执行dosomething的次数有一半,因此On/2=>On次。所以做一些事情是按时间执行的。如果做某事是线性时间,则代码片段的复杂度为2。

当你谈论时间复杂性时,你通常会谈论最坏的情况,所以你考虑条件是真的,然后决定复杂性。 在给定的psuedo代码中,执行dosomething的次数有一半,因此On/2=>On次。所以做一些事情是按时间执行的。如果do something是线性时间,那么代码片段的复杂性为^2。

If对复杂性类没有影响,因为它在O1中执行,只将//do something的执行减少一半。如果您查看big-o的数学定义,常数因子不起作用,因此0.5不会改变以下事实:此代码在*k上运行,其中k是//do something的复杂度。if对复杂度类没有影响,因为它在O1中执行,只将//do something的执行减少一半。如果您查看big-o的数学定义,常数因子不起作用,因此0.5不会改变以下事实,即该代码在*k上运行,其中k是//do something的复杂性。