《程序设计与数据结构》第7周学习总结
教材学习内容总结
- 1.树及其分类
- 2.树的遍历
- 3.二叉树的实现
- 本周学习的内容是十六章的树的内容。树是由一组结点(保存元素)或一组边构成。其中关于结点的分类有:子结点(孩子)、父结点(双亲)、兄弟结点(兄弟),还有一个祖先类比的结点。其中,叶结点代表的是没有任何子结点的结点。树中构成的另一个树叫子树。树的高度或深度定义为从树中从根到叶结点的最长路径的长度。
- 关于树的分类:有一般树(对子结点的个数没有限制)、二叉树(每个结点最多只有两个子结点)、完全树、不完全树、平衡树。
- 关于遍历的分类:其中有先序遍历(访问根,自左至右遍历子树)、中序遍历(遍历左子树,然后访问根,然后自左至右遍历余下的各个子树)、后序遍历(从树的顶层(根)到底层,从左至右,访问树中每层的每个结点。)
教材学习中的问题和解决过程
- 问题1:中序遍历如何理解?
- 问题1解决方案:其实中序遍历我一开始的理解是:遍历左子树,再访问根。我错误地把左右子树合在一起看成左子树。就类似于课本上的这张图。正确的中序遍历(对D这个B的左子树来说)应该是H→D→I,但我理解成了H→I→D。总结一下我的错误就是没有分清左子树和右子树的概念,概念混淆不清。
代码调试中的问题和解决过程
- 问题1:暂无
- 问题1解决方案:暂无
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
结对及互评
点评模板:
- 博客中值得学习的或问题:
- 排版精美,风格独具。
- 代码中值得学习的或问题:
- 对于树的方法实现相比我的复杂的多也很方便。我的就太简单了
- 博客中需要注意的问题:
- 无
本周结对学习情况
- [20162330](http://www.cnblogs.com/super925/p/7709745.html)
- 结对学习内容
- 树的方法实现、队列
其他(感悟、思考等,可选)
本周学习的树由于提前预习还是觉得大部分内容可以掌握,但对于树的计算还是不太清楚乃至混淆。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 | |
第五周 | 300/1600 | 4/13 | 25/120 | |
第六周 | 300/1900 | 1/14 | 20/140 | |
第五周 | 300/2200 | 3/17 | 20/160 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:25小时
-
实际学习时间:20小时
-
改进情况:有人监督的情况下学习时间多数在图书馆
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)