-1
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 ++;
}

外側のループは n/2 回実行され、中央のループは n/2 回実行され、内側の llop は logn 回実行されます。

上記の関数の複雑さは O(n^2logn) ですが、n/2 と n/2 はどのように n^2 になりますか?

ありがとう

4

3 に答える 3

0

アルゴリズムの正確な反復回数とその成長の複雑さの順序は、次のように推測されます。

ここに画像の説明を入力

補足資料:こちら

于 2014-04-04T15:14:47.090 に答える