20172307 2018-2019-1 《程序设计与数据结构》第1周学习总结
20172307 2018-2019-1 《程序设计与数据结构》第1周学习总结
教材学习内容总结
-
第一章
1.软件质量的8种特征:正确性
,可靠性
,健壮性
,可用性
,可维护性
,可重用性
,可移植性
,运行效率
。
2.程序=数据结构+算法
3.软件=程序+软件工程
4.数据结构:计算机存储组织数据的方式。 -
第二章
1.算法效率通常用cpu的使用时间来表示。
2.增长函数:表示问题(n)大小与我们希望最优化的值之间的关系(空间复杂度:内存空间;时间复杂度:cpu的使用时间)
3.渐进复杂度表示算法的阶次(可以用大O记法来表示)
例子:
4.大O类别:具有相同的效率,但是其增长函数不一定相同
例子:
教材学习中的问题和解决过程
-
问题1:
count = 1 while (count < n) { count *=2 }
count = 1 while (count<=n) { count*=2 }
第一个的阶次O(logn),第二个的阶次一开始以为是O(logn - 1) -
问题1解决方案:
第二个的运行次数确实比上一次少一次,但是主项没有变,所以阶次还是O(logn).
教材中习题
-
EX 2.1:
a.O(n^2)
b.O(n^3)
c.O(2^n)
d.O(n^2logn) -
EX 2.4:
增长函数:f(n)=n^2/2
阶次:O(n^2) -
EX 2.5:
增长函数:f(n)=n(log2(n)
阶次:O(n(log2(n))
结对及互评
其他
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 6/6 |
参考资料
- [《Java程序设计与数据结构教程(第四版)》]
- 程序设计与数据结构上
- 程序设计与数据结构下