x 0 for i 1 in ifor j 1 jn i jx 的時間複雜度是多少

2021-03-31 22:38:20 字數 2940 閱讀 8428

1樓:sunny鞦韆墜

i=1時 迴圈n-1

i=2。。。n-2

i=n-1 .... 1

所以1+2+3+。。。n-1=(1+n-1)*(n-1)/2=n^2/2-n/2

所以時間複雜度是0(n^2)

2樓:易燃又好吃

應該是o(n2),(n2表示n的平方……)

3樓:匿名使用者

從兩個方面對你的問題進行解答:

1.實驗。令x=0,y=1,每執行一次x=x+y,x都會加1,所以最後x的值就是其執行值。測試程式如下:

執行結果:

2、從理論說明。外層給定一個n,內部兩層就會迴圈1+2+3+....+n次,所以總的迴圈次數為:

1+(1+2)+(1+2+3)+(1+2+3+4)+.....(1+2+3+4+.....+n).

這個結果等於多少呢?請看下面數學證明。

證明過程:

數列各項是:

11+2

1+2+3

……1+2+3+……+n

由於:1+2+3+……+n=n(n+1)/2=(n²+n)/21²+2²+……n²=n(n+1)(2n+1)/6所以數列各項加起來就是:

s(n)=(1²+1)/2+(2²+2)/2+(3²+3)/2+……+(n²+n)/2

=[(1²+2²+3²+……+n²)+(1+2+3+……+n)]/2=[n(n+1)(2n+1)/6+n(n+1)/2]/2=n(n+1)[(2n+1)/6+1/2]/2=n(n+1)(n+2)/6

綜上,結果為n(n+1)(n+2)/6,時間複雜度為o(n的立方)

x=0 for(i=1;i

4樓:天雲一號

當 i=1時,

x++執行n-2次;

當 i=2時,x++執行n-3次;

當 i=3時,x++執行n-4次;

。。。當 i=n-2時,x++執行1次;

當 i=n-1時,x++執行0次;

所以x++的執行次數為1+2+...+(n-2) = (n-1)*(n-2)/2

故時間複雜度為o(n^2)

5樓:黑色的夢

和冒泡類似,n的平方的時間複雜度

分析以下演算法的時間複雜度 void fun(int n) { int i,x=0; for(i=1;i<=n;j++) for(j=i+1;j<=n;j++) x++; }

6樓:匿名使用者

i=1;程式執行n-1次

,因為j從2取到n,共n-1個數,即執行n-1次,i=2;程式執行n-2次;

i=3:n-3次

......

i=n-1: 1次

i=n 0次

所以總專次數為0+1+2+......+n-1=(n-1)*n/2次,所以時屬間複雜度為o(n^2)

7樓:伊萌坦格利安

外迴圈打錯了吧 i++吧

總的次數是 (n-1)+(n-2)+ ... + 1 = n * (n - 1) / 2 = o(n)

求講解: for(i=1;i

8樓:儒雅的

n=1時x++執行

n次;n=2時x++執行n-1次;

........

n=n-1時x++執行2次;

n=n時x++執行1次;

綜上所述x++執行的頻度時1~n的等差和(n2+n)/2演算法時間複雜度o(n2);

時間複雜度 for(i=1;i<=n;i+=2) for(j=1;j<=m;j++)x=x+1

9樓:魘傳說

演算法的時間復bai雜度:主要是du採用演算法中zhi基本運算的頻dao度f(n)

演算法的時間複雜度通版

常採用基本運算中權的頻度f(n)來分析演算法的時間複雜度。

此程式的基本運算是 x=x+1

內迴圈是由1到m,外迴圈由1到n

所以時間複雜度應為:m*n

時間複雜度?for(i=1;i

10樓:牜疓囝

樓主的理解錯了,第一個for是執行n次(其實是n-1次,不進入迴圈體本體是不計算次數的,不過沒影

響),第二個也是1+2+3+4+...+n-2次(其實是0+1+2+...+n-2,不過也沒有影響),可n*((n-2)*(n-

1)/2)的意思是什麼呢?意思是(n-2)*(n-1)/2這個運算,做了n次?事實是這樣的嗎?不是的。(n-1)*

(n-2)/2這個是最內層迴圈體的本體執行的次數,而n-1次是外層迴圈體執行的次數,總複雜度是(n-1)*(n-2)/2+n-1這兩部分組成的,由於前者大於後者,因此複雜度是(n-1)*(n-2)/2,最終是n^2。算複雜度其實主要看最裡面那層執行多少次(其實可在i迴圈里加個"k++",j迴圈裡面加個p++,k和p初始為0,運算輸出可得k=n-1,p=(n-1)*(n-2)/2),還不明白可以再交流,444231011@**.***

11樓:匿名使用者

0 + 1 + 2 + 3 + 4 + 5 。。。。 + (n - 1)

= n * n / 2

= n^2 / 2

一般近似為n^2

12樓:匿名使用者

(n-1)*(n-2) / 2

13樓:匿名使用者

你要問什麼?這就是一個延時程式,還是個無規律的

設函式f x2 x 1,x 0 log2 x 1 ,x0如果f x0 1求x0的取值範圍

f x 2 x 1 x 0 log2 x 1 x 0case 1 x0 0 f x0 1 2 x0 1 1 2 x0 2 x0 1 solution for case 1 x 0case 2 x0 0 f x0 1 log2 x0 1 1 x0 1 2 x0 1 solution for case ...

對任意x屬於 0求證 1 x 1x

原題應是bai 對任意x 0,求證 1 x 1 x 1 x 1 x 先證t 0時 du t t 1 1 f t 1 1 t 1 t t 1 在 0,zhi 上,f t 0,f t 在 0,上單增 在 1,0 上,f t 0,f t 在 1,0 上單減dao f 0 0,f t 在t 0處取極小內 值...

設x的概率密度為f x 6x(1 x),0x1 f(x)0,其他,求Y 2X 1的分佈函式和概率密度

p y y p x y 1 2 x 襲 y 1 2 f x dx 0 y 1 2 0 或 x 0 y 1 2 6x 1 x dx 0 y 1 2 1 或1 y 1 2 1 0 y 1 或3 y 1 4 2 y 1 8 13 0 y 1 或 y 3 6y 2 9y 4 4 13 這就是y的分佈函式。密...