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

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

教材学习内容总结

  • 集合也是一种对象,相似于保存其余对象的存储库。
  • 动态链式结构
    • 它很好的解决了数组的长度没法变更的问题,使得无需在对象更多的状况下建立新的数组。
    • 它的效率相较于数组较高。
    • 它的大小在使用时动态肯定,而不是声明时静态肯定。
    • 单链结构最后一个节点为null,双向链第一个和最后一个节点都为null
  • 线性数据结构
    • 队列:先进先出。
    • 堆栈:先进后出。

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

  • 问题1:最初对于链表的的理解有些混乱,它的实现是基于什么?指针到底是如何指向的?
  • 问题1解决方案:向王志强老师询问了相关问题,王老师为我解答了这些问题。next指向链表的下一个对象,而这个对象中能够存在不少种类型的对象。相似于PP13.1中,DVDList中的next它指向一个DVD对象,而DVD对象中又存在String类型的"title""director"也有int型的"year"double型的"cost"和boolean型的"bluray",这相似于数组的处理方法,一个对象中存在多种对象。
  • 问题2:队列也是一种线性数据结构,它与堆栈相似,只是他用代码又如何实现呢?
  • 问题2解决方案:上百度搜索了相关知识,而且找到了文章《java队列实现(顺序队列、链式队列、循环队列)》了解了三种队列的代码实现。
  • 问题3:树和图做为非线性数据结构的表明,它们的相同点和不一样点是什么?
  • 问题3解决方案:
    • 不一样点:图没有相似于树根节点那样的初始入口点。
    • 相同点:都可利用数组和动态链实现。
  • 问题4:书上并无关于非线性数据结构树和图的详细解释及代码实现方案,这使得我这个求知欲望比较强的人没有感到知足。
  • 问题4解决方案:在百度上查阅相关资料,找到了《树 及 Java 实现》《数据结构--图 的JAVA实现(上)》来知足本身的求知欲望。

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

  • 问题1:在看书上例子MagazineList.java时老是感受到有些别扭,MagazineNode的存在乎义是什么?
  • 问题1解决方案:询问王志强老师,老师解释说,MagazineNode它能够并在Magazine类中,相似于如下代码:
public Magazine magazine
public Magazine next;

public Magazine(Magazine mag)
{
    magazine = mag;
    next = null;
}

从以上代码能够看出MagazineNode的存在只是书上例子为了咱们的理解,可是好像拔苗助长。html

  • 问题2:在作PP13.3时,不知道如何实现相关的要求,最初也没有理解“以整形术做为节点的链表”
  • 问题2解决方案:询问告终对伙伴范雯琪同窗,而且借鉴了她的部分代码,在相应位置加上了本身理解的注释。看懂了她的代码实现方式,感受到本身本周状态不是很好。
  • 问题3:在作PP13.3的main函数时,仍是照着书上例子MagazineRack来写rack.add(new int(1))
  • 问题3解决方案:做为int型的数,它并不须要new一个int来加入。感受本身这周像个智障
  • 问题4:在作PP13.1时,最初的输出老是null并且找不到问题,如图。
  • 问题4解决方案:范雯琪同窗帮我看了看代码,发现问题是在两个参数的位置放反了
    ,调整一下以后就没有问题了。
    以后本身也想通了这个问题,应该是dv的值赋给dvd。

代码托管


上周考试错题总结

  • 侥幸本周没有错题。

结对及互评

  • 博客中值得学习的或问题:
    • 优势:许多老师课上所讲的只是她都在博客中予以复现,使得从此的复习中更加方便的回忆起老师在课上所讲的内容。
    • 不足:在上周我原本是看到她想实现目录功能才去本身的博客实现的,结果她到如今仍是没有目录功能...
  • 代码中值得学习的或问题:
    • 优势:在通过上周的建议事后她将代码分在了不一样的文件夹中,这让查看代码的人更加方便的查看代码,她对个人建议的及时采纳值得个人学习。
    • 不足:近期的代码中不存在或者比较少的存在本身的注释,虽然本身在当时编程时能理解本身的编程方式,可是别人或者本身时间久了之后或许就不是很理解了,我以为能够在部分重要行中加入本身的注释。

点评过的同窗博客和代码

  • 本周结对学习状况
    • 20172303java

    • 结对学习内容
      • 范雯琪同窗在我作PP13.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 四则运算花的时间太多了,还好书上例题的代码老师给了
第九周 1284/8089 2/17 70/331 IO异常的处理是真的有点难度
第十周 907/8996 1/17 40/371 须要调整本身的状态!!
  • 计划学习时间:40小时git

  • 实际学习时间:40小时编程

  • 改进状况:commit的要求继续实施,根据学长对上周博客的确定增强本身的信心,我也去学习了一下他人的优秀博客,而且在本身博客中取长补短。数组

参考资料

相关文章
相关标签/搜索