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

目录

  • 20182324 2019-2020-1 《数据结构与面向对象程序设计》第7周学习总结
    • 教材学习内容总结
    • 教材学习中的问题和解决过程
    • 代码调试中的问题和解决过程
    • 代码托管
    • 上周考试错题总结
    • 结对及互评
      • 点评:
      • 点评过的同学博客和代码
    • 其他(感悟、思考等,可选)
    • 学习进度条
    • 参考资料

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

教材学习内容总结

  • 1、增长函数和大 O 计数法

20182324 2019-2020-1 《数据结构与面向对象程序设计》第7周学习总结_第1张图片
20182324 2019-2020-1 《数据结构与面向对象程序设计》第7周学习总结_第2张图片

  • 2、栈的 ADT

  • 3、泛型

  • 4、栈的操作 pop、peek、push、isEmpty、size

操作 描述
push 将元素添加到栈顶
pop 删除栈顶元素
peek 查看栈顶元素
isEmpty 判定栈是否为空
size 判定栈中元素的个数
  • 5、后缀表达式的计算

  • 6、数组 ArrayStack 和链表 LinkedStack 实现栈

  • 7、队列 ADT

  • 8、队列操作

操作 描述
enqueue 将元素插入到队尾
dequeue 删除队首元素
first 检测队首元素
isEmpty 判定队列是否为空
size 判定队列中元素个数
  • 9、队列编码 k 值

  • 10、数组 ArrayQueue 和链表 LinkedQueue 实现队列

  • 11、Android 的初步学习

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

  • 问题1:参考书上代码编写的程序运行时没有标题栏
  • 问题1解决方案:主类 extends 的是 Activity 而不是 AppCompatActivity 。可参考 Android 中 Activity 和 AppcompatActivity 的区别 ( 详细解析 )

  • 问题2:哨兵结点是什么?
  • 问题2解决方案:哨兵结点可作为一个假的首结点,实际上并不代表表中的元素。使用哨兵结点,实现带哨兵结点或虚位结点作为第1个结点的表,可以去掉处理第 1 个结点这种特殊情形。

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

  • 问题:Android Studio 编译时报错“ No resource found that matches the given name (at 'title' with value '@string/action_settings').”
  • 问题解决方案:在 value 文件夹下的 string.xml 文件中添加

代码托管

20182324 2019-2020-1 《数据结构与面向对象程序设计》第7周学习总结_第3张图片

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

上周考试错题总结

上周未进行考试,故没有错题

结对及互评

点评:

  • 博客中值得学习的或问题:
    • 图文并茂,有参考资料
    • markdown 格式运用较为熟练
  • 代码中值得学习的或问题:
    • 代码格式规范,合理使用空白,便于阅读
  • 基于评分标准,我给本博客打分:14分。得分情况如下:
    • 1、正确使用Markdown语法(加1分)
    • 2、模板中的要素齐全(加1分)
    • 3、教材学习中的问题和解决过程(2分)
    • 4、代码调试中的问题和解决过程(1分)
    • 5、本周有效代码超过300分行的(加2分)
    • 6、其他加分:
      • 感想,体会不假大空的加1分
      • 进度条中记录学习时间与改进情况的加1分
      • 有动手写新代码的加1分
      • 代码Commit Message规范的加1分
      • 错题学习深入的加1分
      • 点评认真,能指出博客和代码中的问题的加1分
      • 结对学习情况真实可信的加1分
  • 参考示例

点评过的同学博客和代码

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

    • 结对学习内容
      • 学习 Android 应用程序的基本构成
      • 使用 Android Studio 编写应用程序
      • Android UI 组件的使用、Toast 消息的显示、界面布局的调整
      • 栈的方法实现,栈的 ADT ,后缀表达式计算
      • 队列的ADT,数组实现队列和链实现队列

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

总体感觉 Android 其实没有想象中那么难,囿于电脑配置和 Android Studio 的软件原因经常让我感觉有些力不从心;栈和队列的学习让我又多认识了两种数据结构。之后的学习会更加深入和有难度,还要继续加油啦!

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 10000行 30篇 400小时
第一周 109/109 2/2 28/28 学习了Java的基本语法格式,熟练使用 Linux Bash 命令
第二周 550/659 1/3 23/51 学习掌握JDB调试命令
第三周 1028/1687 2/5 30/81 学习类的编写与使用
第四周 542/2229 2/7 22/103 学习方法重载,类的继承、聚合等
第五周 1197/3426 2/9 15/118 学习 Java Socket ,了解加密算法
第六周 1344/4770 1/10 22/140 学习多态与异常处理
第七周 3190/7960 2/12 30/170 学习Android

参考:软件工程软件的估计为什么这么难,软件工程 估计方法

  • 计划学习时间:20小时

  • 实际学习时间:30小时

  • 改进情况:

(有空多看看现代软件工程 课件 软件工程师能力自我评价表)

参考资料

  • 《Java程序设计与数据结构教程(第二版)》

  • 《Java程序设计与数据结构教程(第二版)》学习指导

你可能感兴趣的:(20182324 2019-2020-1 《数据结构与面向对象程序设计》第7周学习总结)