您的位置:首页 > 理论基础 > 数据结构算法

# 20162312 2017-2018 《程序设计与数据结构》第7周学习总结

2017-10-21 14:16 441 查看

教材学习内容总结

学习目标

定义与树相关的术语

讨论树实现的策略

讨论树的不同的遍历方法

使用二叉树表示决策树

二叉树的性质

性质1:在二叉树的第i层上至多有2i-1个结点(i≥1)。(数学归纳法可证)

性质2:深度为k的二叉树最多有2k-1个结点(k≥1)。(由性质1,通过等比数列求和可证)

性质3:一棵二叉树的叶子结点数为n0,度为2的结点数为n2,则n0 = n2 + 1。

性质4:具有n个结点的完全二叉树的深度为floor(log2n) + 1 。

性质5:如果对一棵有n个结点的完全二叉树(其深度为floor(log2n) + 1 )的结点按层序编号,则对任一结点

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

问题1:对于已知遍历反推二叉树不能很熟练的掌握

问题1解决方案:寻找了一个例题联系了一下:先序遍历:GFKDAIEBCHJ

中序遍历:DIAEKFCJHBG

已知以上两个二叉树遍历,怎么样能反推出二叉树?

解答:由前序知,g为root,f为左孩子,又根据中序知道,g没右支。

看f,由中序知,DIAEK为f左支,CJHB为f右支

由前序知,k为f左孩子,d为k左孩子,k无右支

又由中序知,d没左支。

那么iae为d右支,又由前序知,a为d右孩子,而i、e为其左右叶子

同样的道理计算出f右支cjhb的顺序,就求出来了

错题及总结(活动未结束,暂时无法看具体解析)

代码托管

结对及互评

讨论了逆推二叉树

本周结对学习情况

20162324

思考

学习还需要进一步深入

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周0/01/16/6
第二、三周403/4032/314/20
第4、5周1452/18552/58/28
第6周231/20861/68/36
第七周620/27062/88/44
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。

耗时估计的公式

:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

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

计划学习时间:9小时

实际学习时间:8小时

改进情况:

(有空多看看现代软件工程 课件

软件工程师能力自我评价表)

参考资料

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

《Java程序设计与数据结构教程(第二版)》学习指导
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐