2017-02-23 103 views
1

我希望我的问题有道理。我需要拿出数学总和为下面的一段伪代码,其中S1和S2是恒定的操作嵌套循环求和

  for i ← 1 to n Do 
       for j ← i to n Do 
        S1 
         for k ← 1 to j do 
         S2 

我试图想出这是

T(n) = ∑ni=1 ∑nj=i ∑jk=1 1 

我方程试图解决最内圈,即Σjk= 1 1,我的回答是

T(n) = ∑jk=1 1 
T(n) = [k – 1 + 1] * 1 
T(n) = k 

我不是正确的。

我不知道该怎么去完成这个总结,因为我很困惑下一步计算它的方法。任何意见是极大的赞赏。

对上面形成的等式语法表示抱歉,它没有从Word正确导入。

谢谢。

+0

为n大于j更大? – osanger

+0

是的我认为 – DanoBuck

+0

就是这样的情况,然后它的O(n^2) – osanger

回答

0

你的实际运行时是:

O(F(N,j)的)= O(初循环)* O(第二循环)* O(第三环路)

因此运行时O(F(N,j)的)是:

O(F(N,j)的)= N * N *Ĵ

我们知道ñ>Ĵ。所以j对大n来说可以忽略不计。

O(F(N,j)的)= O(F(N))= O(N^2)

所以你的问题是O的元素(N^2)

看一看: Big-O in Docu