Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/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
Big o 关于O(n^2logn) void函数(int n){ int i,j,k; 对于(i=n/2;i_Big O - Fatal编程技术网

Big o 关于O(n^2logn) void函数(int n){ int i,j,k; 对于(i=n/2;i

Big o 关于O(n^2logn) void函数(int n){ int i,j,k; 对于(i=n/2;i,big-o,Big O,循环是嵌套的,因此它们的所有计数都是相乘的。(n/2)*(n/2)是n^2/4,但常数对big-O并不重要;n^2/4=O(n^2)是这样写的。对于big-O表示法,常数被省略:“如果f(x)是多个因子的乘积,任何常数(乘积中不依赖于x的项)都被省略。” 所以你的内循环是logn,中循环和外循环是n/2,但加起来就是(n/2)*(n/2)*logn=1/4(n^2logn),1/4被丢弃,得到O(n^2logn) 参考: 您的算法的精确迭代次数及其增长复杂度顺序如下所示: 支持文件:谢谢,这很

循环是嵌套的,因此它们的所有计数都是相乘的。(n/2)*(n/2)是n^2/4,但常数对big-O并不重要;n^2/4=O(n^2)是这样写的。

对于big-O表示法,常数被省略:“如果f(x)是多个因子的乘积,任何常数(乘积中不依赖于x的项)都被省略。”

所以你的内循环是logn,中循环和外循环是n/2,但加起来就是(n/2)*(n/2)*logn=1/4(n^2logn),1/4被丢弃,得到O(n^2logn)

参考:

您的算法的精确迭代次数及其增长复杂度顺序如下所示:


支持文件:

谢谢,这很有意义。
void function(int n ) {
    int i, j , k ;
    for ( i = n/2 ; i <= n ; i ++) 
        for ( j = 1; j + n/2 <= n; j++ ) 
            for ( k = 1; k <=n ; k = k*2 )
                count ++;
}