软件质量的特征
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 |