学号 2019-2020-20182318 《数据结构与面向对象程序设计》第7周学习总结

学号 2019-2020-20182318 《数据结构与面向对象程序设计》第7周学习总结

教材学习内容总结

  • 十二章在讲编程中的时间复杂度的概念,时间复杂度越低,程序运行效率越高。时间复杂度的计算可通过寻找运行次数最多的程序,计算他的运行次数,取n的最高次方的极数,即为程序的时间复杂度。
  • 栈可以理解为一类数据的集合,栈中的元素可以写入,也可以读出。元素存在先后次序。先入栈的先被读出。栈可用数组,链表两种形式实现。应注意使用数组的实现链表时要注意数组大小,在push过程中可添加扩大数组大小的程序。这样的栈通过数组下表定义顺序。
    栈实现的链表通过setnext来实现链接
  • 还学习了队列:JavaAPI中的队列
    使用队列:代码密钥
    使用队列:售票口模拟队列ADT用链表实现队列用数组实现队列
    双端队列

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

  • 问题1:对泛型的理解不够深入。实例化时难以定义对象。
  • 问题1解决方案:起初被class Box迷惑,不会使用。经百度及课本查询,得知该类名与其他类名无异,只是可以使程序更加灵活。
  • 问题2:对时间复杂度的计算还容易出现错误。
  • 问题2解决方案:时间复杂度可通过计算运行次数最多的程序来看。可通过数学计算方法来计算。
  • 问题3:什么是溢出?溢出有哪些情况?
    问题3解决方案:
    顺序表的溢出现象:
    (1)“下溢”现象
    当队列为空时,做出队运算产生的溢出现象。“下溢”是正常现象,常用作程序控制转移的条件。
    (2)"真上溢"现象
    当队列满时,做进栈运算产生空间溢出的现象。“真上溢”是一种出错状态,应设法避免。
    (3)"假上溢"现象
    由于入队和出队操作中,头尾指针只增加不减小,致使被删元素的空间永远无法重新利用。当队列中实际的元素个数远远小于内存中本分配的空间时,也可能由于尾指针已超越向量空间的上界而不能做入队操作。该现象称为"假上溢"现象。

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

  • 问题1:在编译时无法载入
  • 问题1解决方案:自己百度,请教同学,更改了路径。
  • 问题2:代码逻辑错误,idea不太会单步调试
  • 问题2解决方案:
  1. 设置断点
  2. debug
  3. 下一步
  4. 进入代码
  5. 如何操作链接

代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结

上周没有考试,无错题

点评过的同学博客和代码

  • 本周结对学习情况
    • 20182333
    • 结对照片
    • 结对学习内容
      • 安卓中代码的实现和布局
      • 如何将idea代码上传的码云。并建立同步链接

其他(感悟、思考等,可选)

Java学习一刻也不能放松,安卓自学还要加强

学习进度条

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

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

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

  • 计划学习时间:20小时

  • 实际学习时间:18小时

  • 改进情况:下周多练习

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

参考资料

posted @ 2019-11-03 19:40  J~oker  阅读(98)  评论(1编辑  收藏