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

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

教材学习内容总结

  • 本周学习了分别利用接口和继承实现多态性。
  • 继承实现多态性,例如Mammal类是Horse类的父类,则一个Mammal对象可以指向任何一个Horse类的对象,例如以下代码

    Mammal pet;
    Horse secretariat = new Horse();
    pet = secretariat;
  • 接口实现多态性,例如声明一个接口Speaker:

    public interface Speaker
    {
    public void speak();
    public void announce(String str);
    }
    引用变量current可以只想实现Speaker接口的任何类的任何对象。
  • 学会了插入法排序和选择法排序。
    • 选择法排序的基本方法是扫描整个数列找到最小值,将最小值与第一个位置的元素交换位置后再次扫描除第一个元素外的其他元素,找到最小值后与第二个值交换,以此往复,直到排序完成。
      - 例题:
      3 1 9 3 6 2 10
      1 3 9 3 6 2 10
      1 2 3 9 6 3 10
      1 2 3 3 6 9 10
    • 插入法排序是第一个数仅自己后面的一个数字相比较,如果小于后面的数则不动,大于则交换位置,比较完成后与前两个数和第三个数对比,按照之前的原理放置位置。
      - 例题:
      3 1 9 3 6 2 10
      1 3 9 3 6 2 10
      1 3 9 3 6 2 10
      1 3 3 9 6 2 10
      1 3 3 6 9 2 10
      1 2 3 3 6 9 10

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

  • 本周教材学习问题不多。
  • 问题1:在刚开始学习插入排序法时,误以为当一个数符合其规则时不算一个步骤,会直接跳过。
  • 问题1解决方案:经过王老师在课上的讲解发现就算它符合其排序规则,也算作一步,已经扫描。

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

  • 问题1:在做作业PP10.5时遇到一个问题,在分析题目的要求过后我开始只是简单的认为直接修改Movies类就可以了,产生了一些无法实现排序的错误。
  • 问题1解决方案:仔细再次读了书上的Contact类与DVD类作对比,发现了DVD类并没有compareTo接口,之后就照着书上的Contact类写了接口。

代码托管

上周考试错题总结

  • 错题1及原因:没有认真看书,几乎书上原话

  • 理解情况:虽然书上的原话是这样,但是我还是有问题,为什么效率都是N^2呢?按照他们的算法他们的操作次数应该比N^2小应该是N!,效率应该比N^2高吧。

结对及互评

点评模板:

  • 博客中值得学习的或问题:
    • 范雯琪同学的博客课本上的学习内容总结部分写得十分详细,一看就知道十分认真的学习了书本上的内容。
    • 错题部分虽然比较明了,但是使用非图片方法我觉得会浪费一些时间,直接以图片形式放上去或许可以有更多时间放在问题的理解上。
  • 代码中值得学习的或问题:
    • commit提交的解释清晰明了,比我的要简洁一些,但是意思的表达上实际差不多,我觉得我应该学习,以节约时间。
    • 本周的课本上的代码和实验的代码并没有分开文件夹放置,导致今后找代码时存在些许困难,建议她分开放置。

点评过的同学博客和代码

  • 本周结对学习情况
    • 20172303

    • 结对学习内容
      • 教会范雯琪同学使用UML图。
      • 在范雯琪同学在我编写PP9.1遇到困难时积极想我伸出了援手,使得我对本章我觉得一些难点豁然贯通!

其他

  • 感悟:本周的主要时间都花到四则运算项目上去了,还好本周的书上内容不难,学习起来难度不大,但是本周也是第一次体会到了编一个项目的难度。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 242/242 1/4 13/13 增加了对Java的兴趣
第二周 297/539 1/5 15/28 发现目标并没有想象中那么难
第三周 315/854 2/7 18/46 突然发觉JAVA的难度不小
第四周 1269/2123 1/8 50/96 Java难到哭,但是有信心击败他!
第五周 737/2860 1/9 30/126 难度的减小激发了学习动力
第六周 542/3402 2/11 20/146 不能说难度变小!!!又难了T T
第七周 956/4357 1/12 35/181 平平淡淡才是真
第八周 2448/6805 3/15 80/261 四则运算花的时间太多了,还好书上例题的代码老师给了
  • 计划学习时间:40小时

  • 实际学习时间:80小时

  • 改进情况:根据学长对上周博客的建议修改了上周博客,并在本周博客中尽量避免类似问题发生

参考资料

猜你喜欢

转载自www.cnblogs.com/zhangyeye233/p/8982093.html