軟件質量的特徵
html
分析嵌套循環的複雜度時,必須將內層循環和外層循環都考慮進來。算法
⑴ 找出算法中的基本語句;數據結構
算法中執行次數最多的那條語句就是基本語句,一般是最內層循環的循環體。函數
⑵ 計算基本語句的執行次數的數量級;性能
只需計算基本語句執行次數的數量級,這就意味着只要保證基本語句執行次數的函數中的最高次冪正確便可,能夠忽略全部低次冪和最高次冪的係數。這樣可以簡化算法分析,而且使注意力集中在最重要的一點上:增加率。學習
⑶ 用大Ο記號表示算法的時間性能。編碼
將基本語句執行次數的數量級放入大Ο記號中。.net
a. 10n^2+100n+1000 O(n^2)設計
b. 10·n^3-7 O(n^3)code
c. 2^n+100· n^3 O(2^n)
d. n^2 ·log(n) O(n^2 · logn)
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)
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 | 8/8 |