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 |
|
参考资料