20172312 2017-2018-2 《程序设计与数据结构》第10周学习总结
教材学习内容总结
本周的十三章其实不是很难(或者说我个人认为不是很难),感觉本周的难点更偏向于实验,尤其是第三,四项实验的难度,相当之大。
本周内容:
对象具有良好定义的接口,这是一种实现集合的机制。
动态数据结构的大小规模可以随需要而改变。
通过存储更改对象引用来实现一个链表管理。
通过仔细操作对象引用,实现插入和删除操作。
队列是一种先进先出的线性数据结构,堆栈则是后进后出。
教材学习中的问题和解决过程
- 问题1:在数据结构的动态结构当中,对于动态结构的大小规模变化不是很了解。
- 问题1解决方案:https://blog.csdn.net/fengfeng2861285642/article/details/52304083
链表从本质上讲可以理解为“动态的对象数组”。链表可以实现对象的增加、删除、查询等等一系列的操作,可以实现动态扩充。如下为链表的实现:
代码调试中的问题和解决过程
- 本周的代码没有遇到太大的问题,基本上就是些大小写错误,以及编码不规范。(话说那个代码规范能删了不,每次都提醒我起名不对。)
代码托管
上周考试错题总结
- 1.穿越迷宫递归比迭代要容易得多。false
- A.递归是吸引人的一个原因是它自动回溯到最后一个决定的要点。在穿越迷宫时,当到达死胡同时,继续前进的最佳地点是在前一个十字路口(或决定)的点。因此,进行回溯。为了迭代地解决迷宫需要实现回溯机制,回溯机制在递归中是自动可用的。(对于编写代码来说,递归自然比迭代要容易得多,但对于计算机来说,迭代则更加简单)
- 2.考虑下面的递归sum方法:
public int sum(int x) - {
- if (x = = 0) return 0;
else return sum(x - 1) + 1;
}
If the base case is replaced with "if (x = = 1) return 1;" the method will still compute the same thing. - A.如果参数<0,则会出现无线递归。
- 3.下面的方法正确地添加两个int,返回它们的总和:
public int add(int a, int b)
{
return (b > 0) ? add(a+1, b-1) : a;
} - A.当b<0时,方法失效。
-
结对及互评
评分标准
- 正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
- 模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
-
教材学习中的问题和解决过程, 一个问题加1分
-
代码调试中的问题和解决过程, 一个问题加1分
- 本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
- 其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
- 扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
- 迟交作业的扣至0分
点评过的同学博客和代码
- 本周结对学习情况
- 20172318
- 20172315
- 结对学习内容
-
pp13.1,实验-4
- java密码学
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第六周 | 347/2019 | 1/10 | 26/153 | |
第七周 | 728/2747 | 1/11 | 31/184 | |
第八周 | 808/3555 | 2/13 | 33/217 | |
第九周 | 1082/4637 | 1/14 | 28/245 | |
第十周 |