# 20182312 2019-2020-1 《数据结构与面向对象程序设计》实验八报告
课程:《程序设计与数据结构》
班级: 1823
姓名: 吴东泽
学号:20182312
实验教师:王志强
实验日期:2019年11月7日
必修/选修: 必修
1.实验内容
1.参考教材PP16.1,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder)
用JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台
2.基于LinkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二㕚树的功能,比如给出中序HDIBEMJNAFCKGL和后序ABDHIEJMNCFGKL,构造出附图中的树
用JUnit或自己编写驱动类对自己实现的功能进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台
3.自己设计并实现一颗决策树
提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台
4.输入中缀表达式,使用树将中缀表达式转换为后缀表达式,并输出后缀表达式和计算结果(如果没有用树,正常评分。如果用到了树,即使有小的问题,也酌情给满分)
提交测试代码运行截图,要全屏,包含自己的学号信息;
2. 实验过程及结果
此处填写实验的过程及结果
1.按照书上代码实现链树,并进行测试
2.通过先序和中序序列构建出二叉树,并用层序遍历进行检验
3.构建一棵决策树,实现一个简单的选择并得到最后想要的结果
4.中缀表达式转后缀表达式
3. 实验过程中遇到的问题和解决过程
- 问题1解决方案:按照如图所示执行方法,即可完成,因为你少实现了接口的一个getRight方法。
- 问题2:泛型及其下面所使用到的add方法标红报错
其他(感悟、思考等)
这次的实验整体比较简单,主要还是有关树的构建要熟练,而且我最后的中缀表达式转后缀表达式未能通过表达树来完成,也是一个遗憾,还是要多学有关树的算法的链表和数组的实现。
参考资料
《Java程序设计与数据结构教程(第二版)》
- 《Java程序设计与数据结构教程(第二版)》学习指导
...