20172312 2017-2018-2 《程序设计与数据结构》第10周学习总结

时间:2021-01-02 19:16:25

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时,方法失效。

 

  • 结对及互评

评分标准

  1. 正确使用Markdown语法(加1分):
    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  2. 模板中的要素齐全(加1分)
    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  3. 教材学习中的问题和解决过程, 一个问题加1分

  4. 代码调试中的问题和解决过程, 一个问题加1分

  5. 本周有效代码超过300分行的(加2分)
    • 一周提交次数少于20次的不加分
  6. 其他加分:
    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深入的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分
  7. 扣分:
    • 有抄袭的扣至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  
第十周