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

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

教材学习内容总结

第六章 列表

  • 1.列表是一种概念表示法,也可以用数组和链表来实现。
  • 2.列表集合更一般化,可以在列表的中间和末端添加或删除元素。
  • 3.列表可以分为有序列表(某种特性)、无序列表(列表中的位置)、索引列表(数字索引)三种。
  • 4.如果插入或删除了某个元素,在更大索引处的元素要么上移,以便为新元素腾出空间,要么下移,消除删除元素后留下的空隙,也可以设置某个索引处的元素,覆盖该索引处原有的元素。
  • 5.contains方法复杂度为O(n)。
  • 6.只有Comparable对象才可以存储在有序列表中。

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

  • 问题1:instanceof是什么意思,有什么用?

  • 问题1解决方案:instanceof 是 Java 的一个二元操作符,类似于 ==,>,< 等操作符。它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。

像这张图,O1是A的实例,O2是B的实例,所以首先O1 instanceof A 和O2 instanceof B结果是true,又因为B是A的子类,所以O2 instanceof A的结果也是true。

  • 问题2:for-each循环的用法是什么。

  • 问题2解决方案:

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

  • 问题1:无序列表的测试根本不显示。


  • 问题1解决方案:debug之后....终于发现,我的实参与形参不对应,老习惯性觉得前面是列表中的元素,后面是添加的元素。

代码托管

上周考试错题总结

  • 1.Because queue operations modify both ends of the collection, fixing one end at index 0 eliminates the requirement that elements be shifted.

  • A .True

  • B .False

  • 答案:B

  • 分析:环型数组实现队列,把一端固定在索引0上,要求元素移动并不是元素不动。

  • 单词:eliminates:消除。

  • 2.The variable top in the array implementation of a Stack refers to

  • A .The next available position in the array

  • B .The item at the top of the Stack

  • C .The number of items in the stack

  • D .A and C

  • E .None of the above

  • 答案:D

  • 分析:top即表示栈中的下一个可用位置又表示栈内的元素个数,这题是我漏选了。

  • 单词:无

  • 3.The implementation of the collection operations should affect the way users interact with the collection.

  • A .true

  • B .false

  • 答案:B

  • 分析:集合的执行不影响用户与集合交互的方式。

  • 单词:interact with:影响。

  • 4.Common features should be located as low in a class hierarchy as is reasonable, minimizing maintenance efforts.

  • A .true

  • B .false

  • 答案:B

  • 分析:公共特征应该在合理的层次结构中尽可能高。

  • 单词:hierarchy:层次。

  • 5.Objects that are stored in a collection should contain implementation details of the underlying data structure.

  • A .true

  • B .false

  • 答案:B

  • 分析:存储在集合中的对象不应该包含底层数据结构的实现细节。

  • 单词:underlying:基础的。

点评过的同学博客和代码

其他(感悟、思考等,可选)

  • 正好国庆过完,自己也要收收心了,好好学习了。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 1/1 2/2
第二周 1010/1010 1/2 10/12
第三周 651/1661 1/3 13/25
第四周 2205/3866 1/4 15/40
  • 计划学习时间:20小时

  • 实际学习时间:15小时

  • 改进情况:因为国庆玩耍,没有怎么花心思学习。

参考资料

posted @ 2018-10-07 19:17  雲深不知处  阅读(189)  评论(0编辑  收藏  举报