1

アルゴリズムクラスを受講していて、試験の勉強をしています...残念ながら..ネストされたループの時間分析の背後にある概念を理解できません

このコードには3つのループがあります

for (i=1->n)
 for (j=1->i)
   for (k=1->i)
     x=x+1;

答えを理解する方法がわかりません:sどんな答えでも大いに役立ちますありがとうフォーク:)

4

2 に答える 2

3

ループを合計する必要があります。計算する必要があるのは複数のシグマだけです。

シグマ計算

内側のシグマの1は、最も内側のループ内で行っていることの複雑さです。

于 2013-03-02T16:29:34.477 に答える
1

の場合i=1、k-loop が 1 回実行され、j-loop が 1 回実行されます。合計=1.1=1 回の
場合i=2、k-loop が 2 回、j-loop が 2 回実行されます。合計=2.2=4 回の
場合i=3、k-loop が 3 回、j-loop が 3 回実行されます。合計=3.3=9 回の
場合i=n、k ループが n 回実行され、j ループが n 回実行されます。合計=nn=n^2回

したがって、アルゴリズムの時間計算量は O(1+2^2+3^2+...n^2)=O(n(n+1)(2n+1)/6) =O(n^3) です。

于 2013-03-02T16:21:12.310 に答える