20172322 《程序设计与数据结构》第二周学习总结

20172322 《程序设计与数据结构》第二周学习总结

教材学习内容总结

本周学习内容较多,主要讲了两个方面:html

  • 利用数组的知识实现栈
  • 利用链式结构的知识实现栈

虽然都是用于实现栈,但本次的学期又跟之前不太同样的,在上学期中咱们是利用JavaAPI中自带的栈类stack来解决本身的各种问题,但本次咱们咱们须要本身来编写如何栈类,深刻内部,了解更多。java

咱们先写出了一个接口StackADT后面的两个实现方法都实现了这个接口。git

  • 利用数组的知识实现栈:写出ArrayStack首先实现接口StackADT分别重写pushpoppeekisEmptysize方法。
  • 利用链式结构的知识实现栈:写出LindedStack首先实现接口StackADT分别重写pushpoppeekisEmptysize方法。

两个实现方法差异很是小,不过利用链式结构有一个特别大的优点就是在push操做时不须要像数组通常遍历全部的元素。数组

其余的一些内容包括但不限于:数据结构

  • Javadoc,它除了能够用于备注外还能够建立关于类集的HTML文档,根据王老师透露,JavaJDK就是使用Javadoc实现的。
  • 异常:这个东西很是常见,可是这个东西的构造咱们却不太清晰。我将在下一部分提到异常。
  • 是否为线性集合:链式结构是线性集合,而数组不是,而且非线性集合也许就没有任何组织形式
  • 数组的大小是固定的,而且每次扩充须要新建一个更大的数组来存放以前的元素,可是链表却不一样,它没有限制。
  • 经过设置哨兵节点和哑节点能够解决处理第一个节点出现的问题。

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

  • 问题1:双向链表还不太明白。
  • 问题1解决方案:在网上查到了相关的知识Java中双向链表详解及实例以后了解实现方法和其重要的知识:双向链表是一种对称结构,它克服了单链表上指针单向性的缺点,其中每个节点便可向前引用,也可向后引用,这样能够更方便的插入、删除数据元素。架构

    因为双向链表须要同时维护两个方向的指针,所以添加节点、删除节点时指针维护成本更大;但双向链表具备两个方向的指针,所以能够向两个方向搜索节点,所以双向链表在搜索节点、删除指定索引处节点时具备较好的性能。性能

  • 问题2:异常到底是什么,它如何产生,在何种状况下出现,它的构架是什么?
  • 问题2解决方案:Java异常简介及其架构:Java异常是Java提供的一种识别及响应错误的一致性机制。
      Java异常机制可使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提升程序健壮性。在有效使用异常的状况下,异常能清晰的回答what, where, why这3个问题:异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在哪“抛出,异常信息回答了“为何“会抛出。学习

  • 问题3:哨兵节点和哑节点如何使用?
  • 问题3解决:《哑节点---Merge Two Sorted Lists》《线性链表--哨兵节点》ui

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

  • 问题1:在对照ArrayStackLindedStack时觉得只须要将top稍微改一改就好,结果发现有问题。
  • 问题1解决办法:向王文彬同窗学习了相关的知识,修改了LindedStack,感谢他的帮助

代码托管

上周考试错题总结

  • 错题1及缘由:眼瞎
    .net

  • 理解状况:下次记得好好看题
  • 错题2及缘由:计算错误

  • 理解状况:别由于这些小问题错题啊,不该该啊。
  • 错题3及缘由:难道2n比n的平方阶次还高吗...

  • 理解状况:不太懂

  • 错题4及缘由:单词理解错误

  • 理解状况:并非eliminating而是忽略
    忽略
    ignore

  • 错题5及缘由:我记得我选的是True啊...

结对及互评

  • 博客中值得学习的或问题:
    • 范雯琪同窗的博客课本上的学习内容总结部分写得十分详细,值得学习。
    • 错题部分虽然比较明了,可是使用非图片方法我以为会浪费一些时间,直接以图片形式放上去或许能够有更多时间放在问题的理解上。
  • 代码中值得学习的或问题:
    • commit提交的解释清晰明了,我以为我应该学习。
    • 有许多代码的问题都是我向她询问,我很感谢她

点评过的同窗博客和代码

  • 本周结对学习状况
    • 20172303

    • 结对学习内容
      • 我一开始对栈的实现有一些疑问,通过了她的耐心讲解后我豁然贯通。

其余

  • 感悟:学习是一个长久的过程,须要努力努力再努力。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/5000 2/2 8/8 认真学习!积极向上
第二周 812/812 1/3 22/30
  • 计划学习时间:20小时

  • 实际学习时间:22小时

  • 改进状况:根据学姐要求改进博客

参考资料

相关文章
相关标签/搜索