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
Java 作为运行时间N的函数的增长顺序_Java_Algorithm_Time Complexity_Big O - Fatal编程技术网

Java 作为运行时间N的函数的增长顺序

Java 作为运行时间N的函数的增长顺序,java,algorithm,time-complexity,big-o,Java,Algorithm,Time Complexity,Big O,我在练习复杂的算法,我该怎么做?!我不明白这个问题,也不明白我要做什么计算才能得到它。。。任何帮助都太好了 int N = 50 ; int sum = 0 ; for (int n = N ; n > 0 ; n/=2 ) { for (int i = 0 ; i < n ; i++) { sum++ ; } } int N=50; 整数和=0; 对于(int n=n;n>0;n/=2){ 对于(int i=0;i

我在练习复杂的算法,我该怎么做?!我不明白这个问题,也不明白我要做什么计算才能得到它。。。任何帮助都太好了

int N = 50 ;
int sum = 0 ;
for (int n = N ; n > 0 ; n/=2 ) {
    for (int i = 0 ; i < n ; i++) {
        sum++ ;
    } 
}
int N=50;
整数和=0;
对于(int n=n;n>0;n/=2){
对于(int i=0;i
您可以在外循环的每次迭代中,根据内循环的
N
写入迭代次数,如下所示:

T(N) = N + N/2 + N/4 + ... + 1 = N (1 + 1/2 + 1/4 + ...+ 1/(2^log(N)) = Theta(N)
因此,时间复杂度也在
O(N)