本文學習自 狄泰軟體學院 唐佐林老師的 資料結構課程
問題:我們已經有了估算演算法複雜性的方法,那麼如何用符號定性的判斷演算法的效率呢?
演算法複雜度的概念:演算法的複雜度
注意:資料結構課程重點關注的是演算法的效率問題,因此,整個課程會集中於討論演算法的「時間複雜度」,但是使用的方法完全可以用於空間複雜度的判斷
大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 指標偏移的...