第五課 演算法的時間複雜度

2021-09-28 10:17:49 字數 602 閱讀 5678

本文學習自 狄泰軟體學院 唐佐林老師的 資料結構課程

問題:我們已經有了估算演算法複雜性的方法,那麼如何用符號定性的判斷演算法的效率呢?

演算法複雜度的概念:演算法的複雜度

注意:資料結構課程重點關注的是演算法的效率問題,因此,整個課程會集中於討論演算法的「時間複雜度」,但是使用的方法完全可以用於空間複雜度的判斷

大o表示法

如下表示同一數量級的運算元量

o(5) = o(1)

o(2n+1) = o(2n) = (n)

o(n*n+n+1) = o(n*n)

o(3n*n*n+1) = o(3n*n*n) = o(n*n*n)

常見的時間複雜度:

線性階時間複雜度:o(n)

for(int i=0; i時間複雜度計算練習舉例:

練習 1

for(int i=0; i練習2

void func1(int n)

{ int i=0;

while(i小結:

第五課 文法

1.名詞 場所 行 來 帰 使用移動動詞時,移動的方向用助詞 表示。京都 行 我要去京都。日本 來 我來到了日本。帰 我要回家。注 助詞 讀作 2.行 行 完全否定疑問詞所問的全部範疇時,用助詞 與否定形式一起使用。行 也不去。何 食 什麼也不吃。第6課 沒有任何人在。第10課 3.名詞 交通工具 ...

C語言第五課

主要內容 二維陣列 字串陣列 多維陣列 理解 一 二維陣列 有兩個下標的陣列稱為二維陣列 定義 型別修飾符 陣列名 常量表示式1 常量表示式2 第一維的長度 第二維的長度 示例 定義乙個2行3列的二維陣列 int array 2 3 這是乙個標準的二維陣列 二維陣列的元素也稱為雙下標變數 0 1 2...

C語言第五課

c函式若不宣告型別,則預設為 int 型 在函式中,指標可以 被調函式 修改 主調函式 1 int func int a main 2 void func int num main int num 2 func int b 野指標會 指向任一地方 int pum printf x pum 指標偏移的...