20182309 2019-2020-1 《数据结构与面向对象程序设计》第7周学习总结

20182309 2019-2020-1 《数据结构与面向对象程序设计》第7周学习总结

教材学习内容总结

  • 12 算法分析
    • 算法效率
    • 增长函数及比较
    • 循环、递归的效率
  • 14 栈
    • 先进后出的集合
    • push加入元素到顶端
    • pop删除并返回顶端元素
    • peek查看但不删除顶端元素
    • isEmpty判断栈是否为空
    • size判断栈中元素个数
    • 输出全栈时会按进入顺序输出
    • 用数组实现栈
    • 用链表实现栈
  • 15 队列
    • 先进先出的集合
    • enqueue入队
    • dequeue出队
    • first显示队首
    • isEmpty是否为空
    • size元素个数
    • 用数组实现队列
    • 用链表实现队列

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

  • 问题1:数组实现队列时,数组会越来越大
  • 问题1解决方案:使用环形数组,数组大小固定,头尾相连。
  • 问题2:泛型T和E的区别
  • 问题2解决方案: E-Element在集合中使用,因为集合中存放的是元素;一般使用来声明类型持有者名称。自定义泛型类时,类持有者名称可以使用T(Type)
    如果是容器的元素可以使用E(Element)

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

  • 问题1:当头尾重合时,有满和空两种情况
  • 问题1解决方案:判断最后一步做的是出队还是入队,设一个flag与isEmpty一起判断。

代码托管

结对及互评

  • 代码中值得学习的或问题:
    • 提出与课本不同的方法解决问题
  • 基于评分标准,我给本博客打分:11分。得分情况如下:
    • 正确使用Markdown语法加1分
    • 模板中的要素齐全加1分
    • 教材学习中的问题和解决过程, 二个问题加2分
    • 代码调试中的问题和解决过程, 一个问题加1分
    • 本周有效代码超过300分行的加2分
    • 排版精美的加1分
    • 代码Commit Message规范的加1分
    • 有动手写新代码的加1分
    • 结对学习情况真实可信的加1分

点评过的同学博客和代码

  • 本周结对学习情况
    • 20182331
      • 阅读课本章节内容
      • 代码托管到码云上
      • 完成课后自测题,并参考答案学习
      • 完成课后练习题

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 10000行 30篇 400小时
第一周 138/138 2/2 25/25 学会写和上传代码,会编简单的输出程序
第二周 88/226 1/3 30/55 起文件名不能太长
第三周 898/1124 2/5 35/90 Java类里面的方法和C语言的函数很像
第四周 632/1756 2/7 30/120 可以用继承extends简化重复的代码
第五周 770/2526 2/9 45/165 --amend -m可以重命名没push的文件
第六周 3947/6473 2/11 40/205 接口类的功能要分散,利用多继承完成功能
第七周 1359/7832 3/14 35/240

参考资料

posted @ 2019-11-03 15:14  蓝火BlueFlameAshe  阅读(156)  评论(0编辑  收藏  举报