面程式段的時間複雜度是i 1 while in i i

2022-10-02 12:16:42 字數 2174 閱讀 8287

1樓:蹦迪小王子啊

i=1,只是賦初值,只賦值一次的。

若n=100; i=1; while(i<=n) i=i*3;

則迴圈退出後,i 的值是 243;

i 的值的變化過程為:3,9,27,81,243。

擴充套件資料

各程式設計語言有自己的賦值語句,賦值語句也有不同的型別。所賦「值」可以是數字,也可以是字串和表示式。

注意很多語言都使用「等於號」(即「=」)來作為賦值號,所以可能和和平時的理解不同,在使用的時候應予以注意。

1、vb中的賦值格式

例如,給變數a賦值一個數為12,則格式為:a = 12,注意:變數(即a)只能是一字母,而賦予的值可以是一個式子,當它是式子時,a的值就是這個式子的結果。

2、c語言中的賦值語句

如:inta;/*「整數」型別a*/

a=12;/*a為12*/

c語言規定,變數要先定義才能使用,也可以將定義和賦值在同一個語句中進行:

inta=12;/*「整數」型別a為12*/

2樓:匿名使用者

複雜度是log3(n),至於你正文的兩句嘛,沒看懂

下面程式段的時間複雜度是 ? i=1; while(i<=n) i=i*2

3樓:仁昌居士

i=1; while(i<=n) i=i*2的時間複雜度copyo(log2n)。

整段**語句,中迴圈體只有一個while(i<=n),執行的次數是:

i = 1,i = 1*2=2,判斷2是否小於等於n,是則繼續迴圈,否則跳出迴圈。

i =2,i = 2*2=4,判斷4是否小於等於n,是則繼續迴圈,否則跳出迴圈。

i =4  ,i = 4*2=8,判斷8是否小於等於n,是則繼續迴圈,否則跳出迴圈。

根據規律發現,迴圈次數由log2n決定,所以複雜度是o(log2n)。

4樓:匿名使用者

假設迴圈次數是x。

i = 1, 2, 4, 8, 16 ,i = 2^x條件是i <= n

2^x <= n

所以x <= log2n 一共執行迴圈體log2n次,所以複雜度是o(log2n)

5樓:匿名使用者

迴圈退出的條件為i > n

設第k次迴圈後退出迴圈

於是2^k > n

因此k > log2n 以2為底的對數,k的實際值為log2n上取整

因此時間複雜度為o(log2n)

程式段i=1;while(i<=n)i=i*2;的時間的複雜度是(?)

6樓:北問邇

你可以分析i,和迴圈次數之間的關係

i = 1, 2, 4, 8, 16 ...

所以假設迴圈次數是x。

那麼i = 2^x

條件是i <= n

2^x <= n

所以x <= logn

所以x 從1 到logn,一共執行迴圈體logn次,所以複雜度是logn

7樓:

假設迴圈次數是x。

i = 1, 2, 4, 8, 16 ,i = 2^x條件是i <= n

2^x <= n

所以x <= log2n 一共執行迴圈體log2n次,所以複雜度是o(log2n)

寫出下列演算法的時間複雜度: i=1; while(i<=n) i=i*2;

8樓:匿名使用者

由於每次i乘以2,因此經過log n次迴圈就結束了。

事件複雜度為o(log n),其中底數是2.希望對你有幫助~

9樓:匿名使用者

時間複雜度為log 以2為底 的n

這是個等比數列 2,4,8,16······

i=1 while(i<=n) i=i+3 t(n)=o(n) 時間複雜度是??

10樓:匿名使用者

按照迴圈條件,退出時為i>n

設第x次迴圈後退出,此時 i的值為1+3x所以1+3x >n,x> (n-1)/3,或者說x = [(n-1)/3+1]下取整

自然時間複雜度就是o(n)了

for(i 1 in i 2 i)的時間複雜度

for i m i 1 i 2 當m小於等於0時,只判斷了一次便退出迴圈,時間複雜度為1 當m大於等於1時,時間複雜度為n,但是由於i永遠大於等於1,這個迴圈是個死迴圈,n為無窮大。計算方法 1.一般情況下,演算法的基本操作重複執行的次數是模組n的某一個函式f n 因此,演算法的時間複雜度記做 t ...

下面一段程式的時間複雜度的過程factintn

對於複函式fib,時間複雜度制 t n 1 t n 1 故為 n 對於函bai數 m,你這裡n m,呼叫了dufib n fib m fib n m 外加一次除法zhi和一次乘法 dao運算,故其時間複雜度為 o n 階乘的英文是factorial。應該是用遞迴寫的求數的階乘 下面程式的時間複雜度為...

給出下面幾個C語言程式段的時間複雜度。要求寫出計算過程,謝

1 主要操作是i i 5和i n,設迴圈次數為x,則5 x n,因此x log5 n 其中5是底數,因此時間複雜度為o log5 n 2 主要操作在while迴圈中,設迴圈執行次數為x,則x 2 n,x sqrt n 因此時間複雜度為o sqrt n 3 主要是看內迴圈執行的次數,當i 1時,內迴圈...