博客作业04--树
1.学习总结(2分)
1.1树结构思维导图
1.2 树结构学习体会
数结构是非线性结构,与线性结构不同的是,线性结构可以表示元素之间的一对一关系,但是在数型结构中,一个节点与多个节点相对应,总的来说他们的关系是一对多。学习树的结构这块觉得很难,因为它的内容很多,涉及了很多递归的知识,虽然递归的代码量很少,但是有很多递归的代码很难理解。
2.PTA实验作业(4分)
2.1 题目1:6-2 求二叉树高度(20 分)
2.2 设计思路(伪代码或流程图)
int GetHeight( BinTree BT )
lchildh记录左节点数,rchildh记录右节点数
如果BT==NULL,返回0作为递归出口
否则
lchildh=GetHeight(BT->Left)
遍历左节点
rchildh=GetHeight(BT->Right)
遍历右节点
如果lchildh>rchildh
返回最长路径的长度为lchildh+1
否则返回rchildh+1
2.3 代码截图
2.4 PTA提交列表说明。
这个递归刚开始不太理解,是看书本上的写的,后来查了一下才知道是在遍历完树之后,递归逐步的执行上面的后面步骤返回lchild+1(rchild+1),每次往上返回的结果就是最大得深度值了。
2.1 题目2:6-3 先序输出叶结点(15 分)
2.2 设计思路(伪代码或流程图)
void PreorderPrintLeaves( BinTree BT )
如果BT!=NULL
当BT节点是叶子节点时
即BT->Left==NULL&&BT->Right==NULL
输出该节点所对应的元素
遍历左子树
遍历右子树
2.3 代码截图
2.4 PTA提交列表说明。
第一次提交忘了加空格,导致格式错误。其他没遇到问题。
2.1 题目3:6-4 jmu-ds-表达式树(25 分)
2.2 设计思路(伪代码或流程图)
2.3 代码截图
2.4 PTA提交列表说明。
分母为零的时候的语句写错了,还有碰到括号的操作不会写。
3.截图本周题目集的PTA最后排名(3分)
3.1 PTA排名
3.2 我的得分:1.5
4. 阅读代码(必做,1分)
这个代码是给定一棵二叉树的先序遍历序列和中序遍历序列,计算该二叉树的高度。这个代码虽然很长,可是写得很细心,比较容易理解。