2

アルゴリズムがあり、その複雑さを見つけるのに助けが必要です (可能な限り厳密な上限)

for(int i = 0; i < n/2; i++)
    for(int j = 0; j < n/4; j++)
        for(int k = 0; k < n; k++)
            x++;

私の分析では、各 for ループで n が分割されない場合、それは になりますO(n^3)。この複雑さは依然として当てはまります。なぜなら、各「for ループ」はO(log n)、ループが実行されるたびに n を分割し、それをどんどん小さく (O(n)少なくともより小さく) するため、各操作を複雑にするためです。

答えは と の間にあると思いO(log n)ますO(n^3)。可能な限り厳密な境界を得るのを手伝ってくれませんか?

4

3 に答える 3