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

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

教材学习内容总结

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

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

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

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

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

代码托管

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

上周考试错题总结

  • 错题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.api

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

  • 错题4及缘由,理解状况

The following code segment has ______ time complexity?数据结构

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

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

参考资料

相关文章
相关标签/搜索