1
int i, j;

for(i=0; i<n*n; i++) 
{
    if(i % n == 0)
        for(j=0; j<n; j++)
             x++;
    else 
        x--;
}

私はランタイム分析が初めてなので、ここで自分の答えをチェックして、正しい考えがあるかどうかを確認しています。

そのセグメントの厳しい実行時間を見つけて、その理由を説明する必要があります。

私はO(n²)を思いつきました。

その背後にある私の推論は、最初の for ループを n² 回実行するためです。i が n で割り切れる場合にのみ、2 番目の for ループが実行されます。

これは大丈夫ですか、それとも私の分析では完全に間違っていますか?

4

1 に答える 1