資料結構時間複雜度怎麼求

2021-03-04 01:58:36 字數 814 閱讀 3547

1樓:匿名使用者

簡單理解,時間複雜度就是執行語句被呼叫了多少次。

(1)如果只呼叫了一次,如:

x=5;

if(x<-4)

else

在大括號中的內容,只會呼叫乙個語句,那麼o(n)=1;

(2)如果呼叫了兩次,如:

x=5;

if(x<-4)

else

x=x+56;

在大括號中的內容,只會呼叫乙個語句,但是在最後,還有乙個計算公式要呼叫語句;總共加起來就是呼叫2次。那麼o(n)=2;

(3)用1個for迴圈呼叫

for(x=0;x

x會從0到n-1迴圈,執行的語句就是將當前x值加入新的x中,總共呼叫n次;那麼o(n)=n;

(4)用2個巢狀for迴圈呼叫

for(x=0;x

}遇到巢狀迴圈,可以先將外面的for語句中的變數固定為初始值x=0,主要看裡面的for語句的時間複雜度,很明顯,裡面語句執行次數是從1到n總共呼叫n次,o(n)=n;這還只是x=0時的呼叫。x可以從0到n-1,共n次。每次呼叫都會執行n次呼叫y的情況,因此,執行語句x=x+y;總共會呼叫n*n次。

o(n)=n^2。

數執行語句的執行次數,就是時間複雜度。注意:

(1)找到正確的執行語句。

(2)for迴圈中的初始值和終止值。

for(i=0;i

for(i=0;i<=n;i++) i值變化是從0到n,共n+1次。

(3)注意for迴圈的呼叫順序,從裡面到外面進行的。

資料結構中的演算法的時間複雜度是什麼意思怎麼算

簡單說就是解決乙個問題的最多步驟次數這裡 因為有三個迴圈 所以最多要n 3次 n n n 所以時間複雜度是o n 3 資料結構中演算法的時間複雜度怎麼理解?就是基本操作語句執行的次 數如果你能確定基本執行語句,那就可以假設需要執行的次數是n,然後根據程式的控制部分得到關於n的乙個函式,就可以求的了。...

關於時間複雜度的計算,如何計算時間複雜度?

給我十分,我告訴你答案。請問樓主答案,我也不會。如何計算時間複雜度?一般情況下,演算法的基本操作重複執行的次數是模組n的某乙個函式f n 因此,演算法的時間複雜度記做 t n o f n 隨著模組n的增大,演算法執行的時間的增長率和f n 的增長率成正比,所以f n 越小,演算法的時間複雜度越低,演...

c語言時間複雜度求解,C語言時間複雜度求解

1 兩層迴圈,每層bai 執行dun次,時間複雜度為o n 2 zhi 2 也是兩層迴圈dao 可以算出總共執行了回多少次,其答中n的最高次數為2,所以時間複雜度也為o n 2 3 同上,o n 2 4 迴圈體執行次數為n 1,時間複雜度為o n 5 三層迴圈,每層執行n次,時間複雜度為o n 3 ...