20162304 2017-2018-1 《程序设计与数据结构》第六周学习总结

20162304 2017-2018-1 《程序设计与数据结构》第六周学习总结

教材学习内容总结

  1. 队列的使用;
  2. 分别用数组和链表实现队列;
  3. 熟悉队列的操作:入队操作,出队操作等;

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

  • 问题1:使用链表和循环数组实现队列时,front引用和rear引用有可能相等吗?
  • 问题1解决方案:反复阅读教材后我发现在使用链表实现队列时,当对列为空front==rear,但是当使用循环数组时,由于要空出一个元素的位置,所以front是不可能等于rear的。

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

  • 问题1:循环数组指针移动的问题,为什么不能使用i+1呢?
    public void enqueue (T element)
    {
        if (size() == queue.length)
            expandCapacity();

        queue[rear] = element;
        rear = (rear+1) % queue.length;

        count++;
    }
  • 问题1解决方案:通过课上娄老师的讲解我找到了答案当入队操作填充的是数组最后一个单元时,rear的值必须是0,表示下一个元素应该保存在下标为0处,因此要使用取余符号。

代码托管

点评过的同学博客和代码

  • 本周结对学习情况
    • 20162318
    • 结对照片
    • 结对学习内容
      • 队列的学习

上周考试错题总结

  1. A(n) _____________________ is a list collection has elements that are ordered by a characteristic of the elements.
    A .ordered list
    B .unordered list
    C .indexed list
    D .linked list
    E .array
  2. A(n) _____________________ is a list collection has elements whose elements can be referenced using a numeric index.
    A .ordered list
    B .unordered list
    C .indexed list
    D .linked list
    E .array
  • 总的来说因为我对这个链表掌握的不太好,会努力补回来的。

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

就是感觉自己可能还是敲的代码不够多,一定要投入更多的经历去主动敲代码。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 1/1 10/10
第二周 0/0 1/2 10/20
第三周 163/163 1/3 12/32
第四周 207/370 1/3 11/43
第五周 931/1301 1/4 12/55
第六周 391/1692 2/6 15/70
  • 计划学习时间:12小时

  • 实际学习时间:10小时

参考资料

posted @ 2017-10-15 23:21  20162304张浩林  阅读(123)  评论(0编辑  收藏  举报