これは宿題のように見えるので、ヒントだけを示します。
1) 内側のループがあるとします。i と j の関数として、内側のループを何回通過しますか? ループの反復ごとに実行される操作の数は? 合計で何回の操作を実行する必要がありますか?
2) ここで、内側の 2 つのループだけがあるとします。i と n の関数として、外側のループを何回通過しますか? 外側のループを通過するたびに、内側のループを何回通過しますか? (ヒント: これは j が何であるかによって異なるはずです) 合計でいくつの操作を実行する必要がありますか?
3) これで、問題全体を見る準備が整いました。内側の 2 つのループを (n の関数として) 何回通過し、各反復で何回の操作を実行する必要がありますか? 合計で何回の操作が実行されましたか? (それがあなたの答えです)
さて、これは宿題ではないとおっしゃいましたが、実際は思ったより難しいので、答えだけお伝えします。
各内部ループは時間 j - i で実行されます。
2 番目のループは次の時間で実行されます (i - i) + (i + 1 - i) + ... + (i + n - 2i - i) = 1 + 2 + ... + (n - 2i) = (n - 2i)(n - 2i + 1)/2、数学的帰納法による。
成長の次数を計算する場合、1 項は n 項に比べて非常に小さいため、外側のループはおよそ n^2/2 + (n-2)^2/2 + (n-4)^2/2 + で実行されます。 ... + 1/2。
これは、1^2 + 2^2 + ... + n^2 の約 4 分の 1 であり、これは帰納法により n(n+1)(2n+1)/6 になります。したがって、成長の順序は Omega(n^3) です。