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
- 阅读课本章节内容
- 代码托管到码云上
- 完成课后自测题,并参考答案学习
- 完成课后练习题
- 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 |