20172316 2017-2018-2《程序设计与数据结构》第十周学习总结
教材学习内容总结
第三章 集合概述-栈
集合是一种聚集、组织了其他对象的对象, 可分为线性和非线性集合
抽象数据类型(ADT)是一种在程序设计语言中尚未定义其值和操作的数据类型。ADT必须对其实现细节进行定义,对用户是不可见的。
泛型。常用
T
表示,从最早接触到的ArrayList类就开始接触,写在类名之后的<
>
之中。从最早接触ArrayList到现在,其一直是我最习惯使用的集合类,原因就是泛型带来的方便(任意类型对象、安全、高效)
总结:强调了各种基本概念↑↑↑,上学期学的比较浮躁,我觉得自己应该在多看几遍,重新温习一遍打好基础。第三章主要编程内容为ArrayStack类的介绍和部分实现。
第四章 链式结构-栈
介绍了链式结构的基本内容以及基本应用方法,和利用链表结构实现栈的。
教材学习中的问题和解决过程
第三四章多为上学期所学内容,虽说不出有什么问题,但在实际应用时又往往出错,勤学多练罢。
代码调试中的问题和解决过程
PP3.2实现过程中的几个小问题
一:
单词翻转时丢失部分字母,经过Debug过程得知翻转时循环次数不足以将栈中储存的字母全部弹出。截至2018/09/18没能查清原因,但切换了循环方式后实现了想要的效果。
二:对与输入的句子只对第一个单词进行翻转并输出,其余消失,最终找到原因:将Scanner类中next()
与nextLine()
的用法混淆,导致原句经过StringTokenizer分割后只有第一个单词被储存至nextToken()
中。
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
错题1:Reliability refers to the frequency and criticality of software failure.
正确答案:true
错误原因:原话,但是英语不过关。错题2:Software systems need only to work to support the work of developers, maintainers, and users.
正确答案:Flase
错误原因:错在only上面。错题3:A stack can be used to preserve the order of a set of data.
正确答案:False
错误原因:栈是反着的。错题4:Which of the following has the smallest time complexity?
正确答案:logn+2
错误原因:阶次logn比阶次n的要小。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 6/6 | |
第二周 | 忘了统计之前的了,下周再计算 | 1/2 | 16/22 |
结对互评
参考资料
- 《Java程序设计教程(第八版)》电子工业出版社
- 《使用码云和博客园学习简易教程》
- 《使用开源中国(码云)托管代码》
- 数据结构(一) 单链表的实现-JAVA