本周的学习内容为是软件工程,这是一门关于高质量软件开发的技术和理论的学科,用来控制开发过程,实现高质量的软件。html
高质量软件的特征:
算法
关键概念包括有:
1.可靠的软件不多发生故障,即便发生了故障,也能够将该故障的影响降到最低。
2.软件系统必须通过精心设计、编码和文档说明,以便为开发人员、维护人员和用户提供支持。
3.软件必须有效使用诸如CPU时间和内存之类的资源。
4.质量特征必须优先考虑,并尽量的最大化。
5.栈可用于颠倒数据集的顺序。
6.队列能够保持其数据的顺序。数据结构
增加函数表示问题(n)大小与咱们但愿最优化的值之间的关系。该函数表示了该算法的时间复杂度(CPU的使用时间)或空间复杂度(内存空间)。
函数
大O记法:经常使用大O表示法表示时间复杂性,注意它是某一个算法的时间复杂性。大O表示只是说有上界,由定义若是f(n)=O(n),那显然成立f(n)=O(n^2),它给你一个上界,但并非上确界,但人们在表示的时候通常都习惯表示前者。此外,一个问题自己也有它的复杂性,若是某个算法的复杂性到达了这个问题复杂性的下界,那就称这样的算法是最佳算法。学习
a.10n^2+100n+1000优化
解:阶次是n^2。
b.10n^3-7编码
解:n^3设计
c. 2^n+100n^33d
解:2^nhtm
d. n^2logn
解:n^2logn
for(int count = 0 ; count < n ; count++)
for(int count2 = 0 ; count2 < n ; count2 = count2 + 2)
{
System.out.println(count,count2);
}
}
解:外层循环次数为n,内层循环为n/2,因此增加函数f(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);
}
}
解:内层循环是log2n,外层循环是n,因此增加函数是nlog2n,因此阶次为O(nlog2n)。
新学期但愿可以好好学习,继续努力。
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 10/10 |
计划学习时间:10小时
实际学习时间:10小时