Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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_Loops_Time_Time Complexity - Fatal编程技术网

Algorithm 算法的时间复杂度分析

Algorithm 算法的时间复杂度分析,algorithm,loops,time,time-complexity,Algorithm,Loops,Time,Time Complexity,嗨,我正试图分析这个算法的时间复杂度,但我很难解开并计算最终循环将执行多少次。我意识到第一个循环是log(n),但在那之后,我似乎无法得到一个计算结果良好的和。以下是算法: for(int i = 1; i <= n; i = 2*i){ for(int j = 1; j <= i; j = 2*j){ for(int k = 0; k <= j; k++){ // Some elementary operation here.

嗨,我正试图分析这个算法的时间复杂度,但我很难解开并计算最终循环将执行多少次。我意识到第一个循环是log(n),但在那之后,我似乎无法得到一个计算结果良好的和。以下是算法:

for(int i = 1; i <= n; i = 2*i){
    for(int j = 1; j <= i; j = 2*j){
        for(int k = 0; k <= j; k++){
            // Some elementary operation here.
        }
    }
}
for(inti=1;i它是O(n)

1+2+4+…+2^N==2^(N+1)-1

最后一个循环,对于特定的j,执行j次

对于特定的i,内部2个循环执行1+2+4+…+i次,大约等于2*i

因此,总的执行时间是1*2+2*2+4*2+…+N*2,大约是4*N.

的可能重复