标签:table 教程 使用 支持 博客 处理 软件 学习 https
软件质量的特征
分析嵌套循环的复杂度时,必须将内层循环和外层循环都考虑进来。
问题1解决方案:
⑴ 找出算法中的基本语句;
算法中执行次数最多的那条语句就是基本语句,通常是最内层循环的循环体。
⑵ 计算基本语句的执行次数的数量级;
只需计算基本语句执行次数的数量级,这就意味着只要保证基本语句执行次数的函数中的最高次幂正确即可,可以忽略所有低次幂和最高次幂的系数。这样能够简化算法分析,并且使注意力集中在最重要的一点上:增长率。
⑶ 用大Ο记号表示算法的时间性能。
将基本语句执行次数的数量级放入大Ο记号中。
a. 10n^2+100n+1000 O(n^2)
b. 10·n^3-7 O(n^3)
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 |
20172318 2018-2019-1 《程序设计与数据结构》第1周学习总结
标签:table 教程 使用 支持 博客 处理 软件 学习 https
原文地址:https://www.cnblogs.com/m1sty/p/9614886.html