• 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

    参考资料

    补充作业

  • 相关阅读:
    eclipse luna maven失效的原因
    利用线性探测法解决hash冲突
    PHP和JavaScript将字符串转换为数字string2int
    JavaScript 编程易错点整理
    使用phpstudy创建本地虚拟主机
    单例模式
    PHP使用cookie时遇到的坑
    Redis安装与配置
    CI框架2.x的验证码中所遇问题解决
    用delete和trancate删除表记录的区别
  • 原文地址:https://www.cnblogs.com/huzhitao/p/9708105.html
Copyright © 2020-2023  润新知