《程序设计与数据结构》第6周学习总结
教材学习内容总结
- 15.1 队列ADT
- 15.2 使用队列:编码K值
- 15.3 使用队列:模拟票务柜台
- 15.4 实现队列:使用链表
- 15.5 队列的实现:使用数组
教材学习中的问题和解决过程
- 问题1:队列和数组的具体区别在哪?
- 问题1解决方案:参考链接数组是java中最基本的一种数据结构,其长度是固定的;数组是有序的,数组中的每个元素都有自己的索引位置。为什么使用队列?
数组解决不了一下问题:
在一已经定义的数组末尾添加一个元素
在一已经定义的数组末尾添加另一个数组
在一已经定义的数组中删除一个元素,把后面的的元素向前移一位 - 问题2:如何解决假溢出问题?
- 问题2解决方案:课堂上给出了两种方案,第一种是固定了队头(front)和队尾(rear)的位置,每次出队后剩余元素会向前移动。但算法复杂度为0(n)。第二种则是类似于圆桌,卖饭的人推着小车来卖饭,圆桌的人依次落座,假定“先来的先走”
代码调试中的问题和解决过程
- 问题1:无
- 问题1解决方案:无
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
结对及互评
20162330刘伟康
在刘伟康的帮助下大概理解了数组实现栈,但希望接下来能向他多多讨教队列的问题还有下次课上学习的内容。
点评模板:
- 博客中值得学习的或问题:
- 引用PPT加上自己的理解对于教材作出解释
- 代码中值得学习的或问题:
- 无
- 博客中需要注意的问题:
- 无
本周结对学习情况
- [20162330](http://www.cnblogs.com/super925/p/7667978.html)
- 结对学习内容
- 数组链表
其他(感悟、思考等,可选)
本周学习的数组和链表我觉得数组还是比较容易理解,但链表在我基础比较薄弱的情况下我还是希望通过结对伙伴刘伟康的帮助下帮助我对链表有个更深入的理解。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 | |
第五周 | 300/1600 | 1/10 | 25/120 | |
第五周 | 300/1900 | 3/13 | 15/135 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:25小时
-
实际学习时间:15小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)