# 20162312 2017-2018-1 《程序设计与数据结构》第1周学习总结

教材学习内容总结

  • 算法:通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成
    .
  • 增长函数: 表明问题大小与希望优化的值之间的关系。显示了与问题大小相关的时间或空间利用率(时间利用率更为重要)。

  • 只提高cpu的速度而不去优化算法并不能大程度上缩小算法好坏的差距,相对于时间复杂度来说cpu处理速度只是主项前的系数。

  • 将循环体的阶乘上循环执行的次数,可以得到循环的阶。

教材学习中的问题和解决过程

  • 问题1:课后练习中n2logn的阶为什么是n2logn
  • 问题1解决方案:我原本感觉相对于n2的增长量logn这样级别的增长应该是和系数类似(高中数学估算的时候log项取值有时可以忽略),后来和同学讨论后明白随着n增大,logn虽然还是远小于n2增量并且差距逐渐拉大,但它还是具有无穷性的,与常数系数有本质区别,阶统计时并不能忽略。

  • 问题2:在浏览教材时发现优化这一概念,就想了解这和平时谈到的游戏优化是否是一个方式、
  • 问题2解决方案:在网上查阅了资料,有无损优化和有损优化,其中无损优化就是代码优化 ,进行不大会降低画质的近似运算而不是精确运算,对步骤多余的算法进行改良。

代码调试中的问题和解决过程

  • 本周无代码

代码托管

本周无代码

结对及互评

本周结对学习情况

  • 20162324

  • 结对学习内容
    • 进行了算法设计分析方面的讨论

思考

这个周理论上的知识很多,相对抽象,课后要把视频补一补,一个假期前面循环语句也忘得差不多了,看来练习是十分重要的。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/200 1/2 6/20

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难,软件工程 估计方法

  • 计划学习时间:5小时

  • 实际学习时间:6小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表)

参考资料

  • 《Java程序设计与数据结构教程(第二版)》

  • 《Java程序设计与数据结构教程(第二版)》学习指导
  • ...

你可能感兴趣的:(# 20162312 2017-2018-1 《程序设计与数据结构》第1周学习总结)