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

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

教材学习内容总结

  • 集合是一种是一种聚集、组织了其他对象的对象,提供了访问和管理其元素的操作。
  • 集合分类:线性、非线性。
  • 抽象数据类型(ADT)是一种在程序设计语言中尚未定义其值和操作类型的数据类型。
  • 数据类型是一组值及作用于这些数值上的各种操作。
  • 数据结构是一种用于实现集合编程结构集。
  • 栈是后进先出
  • 栈是一种线性集合,其元素的添加和删除都是在同一端进行的。
  • 异常是一种对象,定义了一种非正常或错误的情况。
  • Java接口定义了一个抽象方法集,有助于把ADT的概念及其实现分开。
  • Java中一旦创建,数组的大小无法改变
  • pop:弹出;push:压入;peek:返回(不删除)
  • 链式结构是一种数据结构,它使用对象引用变量来创建对象之间链接。
  • 在链表中存储的对象称为该链表的结点。
  • 链表没有容量限制。
  • 访问链表元素要从第一个元素开始,顺着链表往下进行。
  • 存储在集合中的对象不应该含有基本数据结构的任何实现细节。
  • Stack类是从Vector类派生而来的,并使用其继承的容量来存储栈的元素。

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

  • 问题1:泛型的概念
  • 问题1解决方案:泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。泛型类是引用类型,是堆对象,主要是引入了类型参数这个概念。
  • 问题2:API到底是什么
  • 问题2解决方案:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

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

  • 问题1:在做pp3.2与pp3.8时没有发现这两个编程项目的区别
  • 问题1解决方案:在仔细研究后发现pp3.2与pp3.8的区别就是pp3.2不仅颠倒了元素的顺序,还颠倒了元素里面的字符顺序,而pp3.8不需要。我在pp3.8中利用 String[] d=a.split(" ");进行分割,问题得以解决。

代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结

  • 错题1及原因,理解情况

Issues related to the interaction between the user and system, including the design of such things as help options, meaningful messages, consistent layout, appropriate use of color, error prevention, and error recovery, are generally referred to as ____________.

A . Correctness
B . Reliability
C . Robustness
D . Usability
正确答案: D
你的答案: C
与用户和系统之间的交互相关的问题,包括帮助选项,有意义的消息,一致的布局,适当的颜色使用,错误预防和错误恢复等设计,通常被称为可用性。

  • 错题2及原因,理解情况

Software systems need only to work to support the work of developers, maintainers, and users.
A . True
B . Flase
正确答案: B
你的答案: A
软件系统不只需要支持开发人员,维护人员和用户的工作。

  • 错题3及原因,理解情况

A stack can be used to preserve the order of a set of data.

A . True
B . Flase
正确答案: B
你的答案: A
堆栈可用于保存一组数据的相反顺序。

  • 错题4及原因,理解情况

The following code segment has ______ time complexity?

for(int i = 0; i < n; i++){

for(int j = 0; j < n: j=j*2){

int val = (j*i);

System.out.println(val)

}

}

A . O(1)
B . O(n)
C . O(n2)
D . O(nlogn)
正确答案: D
你的答案: C
该时间复杂度是O(nlogn)

  • 错题5及原因,理解情况

The order of an algorithm is found by eliminating constants and all but the dominant term in the algorithm’s growth function

A . True
B . Flase
正确答案: A
你的答案: B
算法的顺序是通过消除算法的增长函数中的常数和除主导项以外的所有项来找到的

结对及互评

点评模板:

  • 博客中值得学习的或问题:

    • 版式精美
    • 对于书本的内容发掘不够充分
  • 代码中值得学习的或问题:

    • 代码别具一格
    • 代码量不太多

点评过的同学博客和代码

  • 本周结对学习情况
    • 20172318

    • 结对学习内容

      • 第三章
      • 第四章
  • 上周博客互评情况

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 0/0 0/0
第二周 800/800 2/2 18/18

参考资料

原文地址:https://www.cnblogs.com/huzhitao/p/9664626.html