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

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

    教材学习内容总结

    • 队列(queue)是一种线性集合,其元素从一端加入,从另一端删除;队列元素是按先进先出(First In First Out,FIFO)方式处理的。
    • 从队列删除元素的次序,与往队列放置元素的次序是一样的。
    • enqueue、dequeue和first等操作对应于栈的push、pop和peek等操作。
    • Java集合API提供了java.util.Stack类,它实现了栈集合。但它并没有提供队列类,而是提供一个Queue接口,由多个类(包括LinkedList类)来实现的。
    • java.util.Stack 类提供了传统的push、pop和peek等操作。而Queue接口并没有实现传统的enqueue、dequeue和first操作。Queue接口定义了另外两种方法,往队列中添加元素或从队列中删除元素。这些方法在异常类处理上有很大的不同。一个是提供了一个布尔返回值,另一个是抛出一个异常。
    • 队列是一种可存储重复编码密钥的便利集合。
    • 队列与栈的主要差别在于,我们必须要操作链表的两端。
    • 那两个分别指向链表首元素、链表末元素的引用方便队列的链表实现。
    • 由于队列操作会修改集合的两端,因此将一端固定于索引0处要求移动元素。
    • 把数组看作是环形的,可以除去在队列的数组实现中把元素移位的需要。
    • 双端队列(Deque)是队列的扩展,它允许从队列的两端添加、删除和查看元素。

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

    • 问题1:对于书上所讲的双端队列产生好奇,想知道如何具体实现的
    • 问题1解决方案:百度查询资料有了具体了解。双端队列

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

    • 问题1:编写pp5.7时没有思路
    • 问题1解决方案:查询资料:双向链表:
      就是有双向指针 即 双向的链域
      链结点的结构:
      ┌────┬────┬────────┐
      │data│next│previous│
      └────┴────┴────────┘
      双向链表不必是双端链表(持有对最后一个链结点的引用),双端链表插入时是双向的
      有两条链:一条从头到尾,一条从尾到头,删除遍历时也是双向的

    代码托管

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

    上周考试错题总结

    上周无测试

    结对及互评

    点评模板:

    • 博客中值得学习的或问题:
      • 提出的问题较少
      • 教材内容总结比较到位
    • 代码中值得学习的或问题:
      • 代码十分简洁,一目了然
      • 代码量较少

    点评过的同学博客和代码

    • 本周结对学习情况
    • 上周博客互评情况

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 0/0 0/0 0/0
    第二周 800/800 2/2 18/18
    第三周 600/1400 3/5 22/40

    参考资料

    补充作业

  • 相关阅读:
    1096 Consecutive Factors (20分)
    js-实现省市区地址选择器三级联动
    js-面向对象编程基础
    js-滑块拼图登录验证
    js-promise以及async、await实现简易红绿灯
    js-前端分页效果的实现
    js-ajax方法详解以及封装
    js-jsonp跨域请求原理以及jsonp的封装
    js-实现常见的拖拽效果(表单滑块验证)
    js本地存储-localStorage和cookie详解以及区别
  • 原文地址:https://www.cnblogs.com/huzhitao/p/9708105.html
Copyright © 2011-2022 走看看