zoukankan      html  css  js  c++  java
  • 20172318 2018-2019-1 《程序设计与数据结构》第4周学习总结

    20172318 2018-2019-1 《程序设计与数据结构》第4周学习总结

    教材学习内容总结

    列表

    • 列表集合有以下3种类型:

      • 有序列表(orderedlist),其元素按照元素的某种内在特性进行排序。有序列表中的元素具有内在关联,这种关联定义了元素之间的顺序。

      • 无序列表(unorderedlist),其元素间不具有内在顺序,元素按照它们在列表中的位
        置进行排序。无序列表中的元素按使用者所选择的任意方式排序·

      • 索引列表(indexedlist),其元素可以用数字索引来引用。索引列表为它的元素维护一段连续的数字索引值·

    • 使用数组实现列表

      • 为了避免要移动元素。可以使用环形数组方法,但当从列
        表中间插入或删除元素时,仍需要移动元素。

      • remove操作要求我们查找仵为参数传递的元素,如果找到就从列表中将其删除。然后,
        数组中更高索引的元素向下平移以填补空隙。

      • contains操作的作用是判断指定元素是否包含在列表当中。

      • add操作是将一个元素添加到有序表中的唯一方式。调用中没有指定添加到的位置,
        因为元素本身就决定了它们的次序。与remove操作非常像,add操作也需要比较和平移操
        作:进行比较以找到元素在列表中的正确位置,然后平移元素以便为新元素腾出一个位置。

      • 只有Comparable对才能存储在有序列表中。

    • 使用链表实现列表

      • remove操作是LinkedList类的一部分,为无序列表和有序列表所共有。remove操作包
        括,确认列表非空,查找要删除的元素,然后处理以下4种情况之一:要删除的元素是列
        表中的唯一元素,要删除的元素是列表中的泞元素,要删除的元素是列表中末尾元素,或
        者要删除的元素处于列表当中位置。在所有这些情况下,count都将递减1。与数组实现的
        remove操作不同,链表实现的remove操作不需要平移元素来填补空隙。

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

    • 问题1:modcount是什么
    • 问题1解决方案:看了下第七章,课本的解释是:modCount是一个整数变量,在外部类ArrayList中定义的。如果回顾一下第6章,就会明白,一旦集合被修改(比如往集合中添加了元素),modCount就会增加。因此,当创一个新迭代器时,其修改计数就设置为等于集合自己的计数。如果两个值不一致了(由于集合进行了更新),那么迭代器将抛出ConcurrentModificationException异常。

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

    • 问题1:代码报错,但是从头翻到尾没看见错误
    • 问题1解决方案:使用f2查找了一下,发现是注释报错了,在网上查了一下,貌似idea会出现这个错误,重启了一下就没了

    上周考试错题总结

    • 错题1及原因,理解情况
      A pop operation on a Stack returns a(n)
      A .node
      B .element
      C .variable
      D .pointer

    选B,返回一个元素

    • 错题2及原因,理解情况
      Which of the following is the correct way to instantiate an array of 10 generic objects?
      A .Which of the following is the correct way to instantiate an array of 10 generic objects?
      B .T[10] x = new T[]
      C .T[] x = (T[])(new object[10])
      D .None of the above

    选C,泛型数组的声明方式有点不同

    • 错题3及原因,理解情况
      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,那时候觉得不是a就是c,没想到两个都是

    • 错题4及原因,理解情况
      A well-defined interface masks the implementation of the collection.
      A .true
      B .false

    选A,定义良好的接口可以帮助集合更好的实现

    代码托管

    点评过的同学博客和代码

    • 本周结对学习情况
      • 20172312
      • 结对学习内容
        • 课本第六章

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 0/0 1/1 8/8
    第二周 500/500 1/2 15/ 23
    第三周 802/1302 1/3 12/35
    第四周 1530/2832 2/5 15/50

    参考资料

  • 相关阅读:
    Poj 1742 Coins(多重背包)
    Poj 2350 Above Average(精度控制)
    求二进制数中1的个数
    Poj 1659 Distance on Chessboard(国际象棋的走子规则)
    Poj 2411 Mondriaan's Dream(压缩矩阵DP)
    Poj 2136 Vertical Histogram(打印垂直直方图)
    Poj 1401 Factorial(计算N!尾数0的个数——质因数分解)
    poj 2390 Bank Interest(计算本利和)
    Poj 2533 Longest Ordered Subsequence(LIS)
    Poj 1887 Testing the CATCHER(LIS)
  • 原文地址:https://www.cnblogs.com/m1sty/p/9750766.html
Copyright © 2011-2022 走看看