第一章
1.軟件質量的8種特徵:正確性
,可靠性
,健壯性
,可用性
,可維護性
,可重用性
,可移植性
,運行效率
。
2.程序=數據結構+算法
3.軟件=程序+軟件工程
4.數據結構:計算機存儲組織數據的方式。html
第二章
1.算法效率一般用cpu的使用時間來表示。
2.增加函數:表示問題(n)大小與咱們但願最優化的值之間的關係(空間複雜度:內存空間;時間複雜度:cpu的使用時間)
3.漸進複雜度表示算法的階次(能夠用大O記法來表示)
例子:
4.大O類別:具備相同的效率,可是其增加函數不必定相同
例子:算法
問題1:
count = 1 while (count < n) { count *=2 }
count = 1 while (count<=n) { count*=2 }
第一個的階次O(logn),第二個的階次一開始覺得是O(logn - 1)數據結構
問題1解決方案:
第二個的運行次數確實比上一次少一次,可是主項沒有變,因此階次仍是O(logn).函數
EX 2.1:
a.O(n^2)
b.O(n^3)
c.O(2^n)
d.O(n^2logn)學習
EX 2.4:
增加函數:f(n)=n^2/2
階次:O(n^2)優化
EX 2.5:
增加函數:f(n)=n(log2(n)
階次:O(n(log2(n))設計
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 0/0 | 1/1 | 6/6 |