20172332 2017-2018-2 《程序設計與數據結構》第一週學習總結
教材學習內容總結
第一章html
- 1.高質量軟件的特徵:①正確性——知足特定需求。 ②可靠性——故障發生的頻率和危險程度。 ③健壯性——出錯後,能夠獲得恰當處理的程度。 ④可用性——使用的難易程度。 ⑤可維護性——對軟件修改的難易程度。 ⑥可重用性——軟件組件能用於其餘軟件的難易程度。 ⑦可移植性——軟件在不一樣的計算環境中使用的難易程度。 ⑧運行效率
- 2.數據結構:隊列、棧、樹等與數據存放順序有關。
第二章算法
- 1.算法分析:計算機科學的基礎,決定一個程序運行速度的主要因素。
- 2.增加函數:表示問題(n)大小與咱們但願最優化的值之間的關係,該函數表示了該算法的時間複雜度或空間複雜度。咱們不須要知道某一算法確切的增加函數,主要關注的是漸進複雜度(n、n^2等一系列)
- 3.漸進複雜度:算法的階次。
- 4.大O記法:具備相同階次的算法,從運行效率的角度來講都認爲是等價的。
- 5.時間複雜度分析:一般須要分析循環的運行,好比:循環n次就是O(n)。
- 6.嵌套循環的複雜度分析:外層循環運行的次數與內層循環的次數相乘。
教材學習中的問題和解決過程
- 問題1:時間複雜度的計算規則。
- 問題1解決方案:
-
課後題解答
EX2.1:下列增加函數的階次是多少?
- a.10n^2+100n+1000
- a.O(n^2)
- b.10·n^3-7
- b.O(n^3)
- c.2^n+100· n^3
- c.O(2^n)由於增加速率快
- d.n^2 ·log(n)
- d.O(n^2logn)
EX2.4:請肯定下面代碼段的增加函數和階次:
for(int count = 0 ; count < n ; count++)
for(int count2 = 0 ; count2 < n ; count2 = count2 + 2)
{
System.out.println(count,count2);
}
}
- 外層循環n次,內層循環n/2次,根據乘法準則能夠發現是增加函數是t(n)=(n^2)/2,階次是O(n^2)
EX2.5:請肯定下面代碼段的增加函數和階次:
for(int count = 0 ; count < n ; count++)
for(int count2 = 1 ; count2 < n ; count2 = count2 * 2)
{
System.out.println(count,count2);
}
}
- 外層循環n次,內層循環log2(n)次,根據乘法準則能夠發現,增加函數是t(n)=nlog2(n),階次是O(nlog2n)
其餘(感悟、思考等,可選)
學習進度條
目標 |
5000行 |
30篇 |
400小時 |
|
第一週 |
0/0 |
1/1 |
2/2 |
|
參考資料