学号20182325 《程序设计与设计结构》 第九周学习总结
学号20182325袁源 《数据结构与面向对象程序设计》第9周学习总结
教材学习内容总结
二叉树、堆
- 两种序求第三种必须用中序
- 使用递归遍历
- 二叉树深度=左右子树最大深度+1
- 用队列实现层序
- 大顶堆、小顶堆
- 必须是完全二叉树
- 小顶堆:根必须小于等于左右孩子
- 插入之后要重排序
- 删除的位置用最后一片叶子代替
- 建立:建立树,选择最后一个非终端节点,与其左右孩子的最值交换,重复操作。
- 二叉排序树
- 将比根小的放左子树,大于等于放右子树。
- 查找中同理。子树为空查找失败。
- 中序遍历即可排序。
- 查找失败 将查找的数放入他应该再在的位置=生成。
- 删除若有双子树用前驱或后继结点代替之,再删除前驱或后继结点。
- 平衡因子不大于一即可。若左边多将左子树设为根左子树的右子树重排。
- 哈夫曼编码
- 定长编码:长度一样
- 概率大编码短,概率小编码长。任何编码都不是其他编码的前缀。
- 最优二叉树:带权路径长度最短或平均编码长度最小
教材学习中的问题和解决过程
- 问题1:删除根出现空指针异常。
- 问题1解决方案:不能只改左右子树引用,其他的节点可以,但根还要改树的引用,即根结点。
代码调试中的问题和解决过程
-
问题1:如下代码
-
问题1解决方案:空指针异常在使用加子树的代码时使用if确保不会出现空指针。
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
- 无
结对及互评
- 实验稳步进行,博客精美。无特殊状况。
评分标准
- 正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
- 模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
- 教材学习中的问题和解决过程, 一个问题加1分
- 代码调试中的问题和解决过程, 一个问题加1分
- 本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
- 其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
- 扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
- 迟交作业的扣至0分
点评模板:
- 博客中值得学习的或问题:
- 希望的代码数量和老师的希望有所差距还需改进。
- ...
- 代码中值得学习的或问题:
- 用插入的方法代码简单不少。
- 代码量提升很多。
- ...
- 基于评分标准,我给本博客打分:14得分情况如下:
- 正确使用Markdown语法(加1分):
- 模板中的要素齐全(加1分)
- 教材学习中的问题和解决过程, 一个问题加1分 +2
- 代码调试中的问题和解决过程, 一个问题加1分 +1
- 本周有效代码超过300分行的(加2分)+2
- 其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 结对学习情况真实可信的加1分
点评过的同学博客和代码
- 本周结对学习情况
-
结对照片:
-
结对学习内容
- 互相检查彼此进度
- 相互提供思路。
- 上周博客互评情况
20182319
其他(感悟、思考等,可选)
- 实验、实践倒是完成的不错。博客倒是老出错。改了还
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 6000行 | 30篇 | 240小时 | |
第一周 | 62/62 | 3/3 | 18/18 | |
第三周 | 347/454 | 4/7 | 42/60 | |
第四周 | 960/1414 | 2/9 | 23/83 | |
第五周 | 689/2103 | 2/11 | 20/103 | |
第六周 | 1641/3744 | 2/13 | 16/119 | |
第七周 | 2760/6207 | 2/15 | 40/159 | |
第八周 | 677/6884 | 1/16 | 3/162 | |
第九周 | 674/7558 | 3/19 | 22/184 |
- 计划学习时间:20小时
- 实际学习时间:22小时
- 改进情况:动态平衡趋于稳定
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)