# 20162312 2017-2018-1 《程序设计与数据结构》第1周学习总结
教材学习内容总结
-
算法:通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成
. -
增长函数: 表明问题大小与希望优化的值之间的关系。显示了与问题大小相关的时间或空间利用率(时间利用率更为重要)。
-
只提高cpu的速度而不去优化算法并不能大程度上缩小算法好坏的差距,相对于时间复杂度来说cpu处理速度只是主项前的系数。
-
将循环体的阶乘上循环执行的次数,可以得到循环的阶。
教材学习中的问题和解决过程
-
问题1:课后练习中n2logn的阶为什么是n2logn
-
问题1解决方案:我原本感觉相对于n2的增长量logn这样级别的增长应该是和系数类似(高中数学估算的时候log项取值有时可以忽略),后来和同学讨论后明白随着n增大,logn虽然还是远小于n2增量并且差距逐渐拉大,但它还是具有无穷性的,与常数系数有本质区别,阶统计时并不能忽略。
-
问题2:在浏览教材时发现优化这一概念,就想了解这和平时谈到的游戏优化是否是一个方式、
-
问题2解决方案:在网上查阅了资料,有无损优化和有损优化,其中无损优化就是代码优化 ,进行不大会降低画质的近似运算而不是精确运算,对步骤多余的算法进行改良。
代码调试中的问题和解决过程
- 本周无代码
代码托管
本周无代码
结对及互评
本周结对学习情况
-
结对学习内容
- 进行了算法设计分析方面的讨论
思考
这个周理论上的知识很多,相对抽象,课后要把视频补一补,一个假期前面循环语句也忘得差不多了,看来练习是十分重要的。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/200 | 1/2 | 6/20 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:5小时
-
实际学习时间:6小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)