[讨论] 时间复杂度问题?

楼主: dardar923 (CrazyDar)   2015-01-09 16:44:21
各位大大~~
小弟目前正陷入一个困顿之中~~
题目如下:
k=0;
for(i=0;i<N;i++)
for(j=0;j<i*i;j++)
for(z=0;z<j;z++)
k++;
请问答案是不是O(n^5)
但是解答却是写(n)*(n^2)*(n)=O(n^4)
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-01-09 16:52:00
解答没错,你答错。
作者: LPH66 (-6.2598534e+18f)   2015-01-09 17:04:00
O(n^5) 没错: Sum(i=0,N-1,Sum(j=0,i^2-1,z=Sum(0,j-1,1)))= Sum(i=0,N-1,Sum(j=0,i^2-1,O(j)))= Sum(i=0,N-1,O(i^2)*O(i^2)) = Sum(i=0,N-1,O(i^4))= O(N^5)实际算出来会是 (2n-1)(n+1)(n)(n-1)(n-2)/20
楼主: dardar923 (CrazyDar)   2015-01-09 17:12:00
大大分解好专业~小弟用程式跑也是符合您下列的算式解
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-01-09 17:35:00
OHNO
作者: EdisonX (卡卡兽)   2015-01-09 22:29:00
好神 推

Links booklink

Contact Us: admin [ a t ] ucptt.com