1.学习总结

1.1树结构思维导图

 

1.2 树结构学习体会

  • 树是一种非线性结构,其定义是递归的,在学习过程中,需要注意递归的调用。
  • 遇到的困难:对递归的调用不够熟练,导致需要使用递归时无从下手;对树的遍历掌握很差,用程序实现树的遍历较为困难;树的线索化不甚明朗,代码实现较为困难。
  • 解决的问题:通过遍历求解表达式的值或进行表达式的转换;根据先序遍历、中序遍历、后序遍历确定唯一二叉树;二叉树,树,森林间的相互转化;将二叉树线索化;找出哈夫曼树,求解节点的哈夫曼编码;利用并查集求解等价问题;

2.PTA实验作业


2.1 题目1:6-1 jmu-ds-二叉树操作集

2.2 设计思路(伪代码或流程图)

 

2.3 代码截图

 

2.4 PTA提交列表说明。

按照书上的参考代码进行编写,无错误。

 


 


2.1 题目2:6-4 jmu-ds-表达式树

2.2 设计思路(伪代码或流程图)

 

2.3 代码截图

 

 

2.4 PTA提交列表说明。

编程时递归调用不清,忽略了题目本身给出的判断符号次序的函数,导致题目复杂化,忘记当除0的时候需要返回错误提示。


 


2.1 题目3:7-3 jmu-ds-二叉树层次遍历

2.2 设计思路(伪代码或流程图)

 

2.3 代码截图

 

2.4 PTA提交列表说明。

恢复二叉树时忘记给左右孩子进行编号,导致程序超时;

进行层次遍历时运用了递归,但是没有考虑到树两边不对等的情况,递归不便于操作。

 


3.截图本周题目集的PTA最后排名

本次题目集总分:285分
必做题共:230分

3.1 PTA排名截图

 

 

3.2 我的总分:2分

4. 阅读代码(必做)

基于平衡二叉树的动态线段树

https://gitee.com/WellerZhao/DSTree/blob/master/DSTree/DSTree/main.cpp

 通过查找发现平衡二叉树的查找插入删除的时间复杂度都为O(logn);

本篇代码是在平衡二叉树的基础上进行拓展,将平衡二叉树放在类似于坐标纸上进行旋转和平衡。

5. 代码Git提交记录截图

 

posted on 2018-05-05 13:40  惜泠  阅读(559)  评论(0编辑  收藏  举报