20202311 2021-2022-1《数据结构与面向对象程序设计》实验八报告
课程:《程序设计与数据结构》
班级: 2023
姓名:余博雅
学号:20202311
实验教师:王志强
实验日期:2021年9月23日
必修/选修: 必修
##一、实验内容
1.参考教材PP16.1,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder)
用JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台
2.基于LinkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二㕚树的功能,比如给出中序HDIBEMJNAFCKGL和后序ABDHIEJMNCFGKL,构造出附图中的
用JUnit或自己编写驱动类对自己实现的功能进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台
3.自己设计并实现一颗决策树
提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台
4.输入中缀表达式,使用树将中缀表达式转换为后缀表达式,并输出后缀表达式和计算结果(如果没有用树,正常评分。如果用到了树,即使有小的问题,也酌情给满分)
提交测试代码运行截图,要全屏,包含自己的学号信息
##二、实验过程及结果
1.参考教材PP16.1,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder)
用JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试
码云链接:LinkedBinaryTree · a14aaca · 2023Java_DS/余博雅20202311. - Gitee.com
2.基于LinkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二㕚树的功能
码云链接:二叉树 · ac5d76f · 2023Java_DS/余博雅20202311. - Gitee.com
3.自己设计并实现一颗决策树
码云链接:决策树 · 0471fc5 · 2023Java_DS/余博雅20202311. - Gitee.com
4.输入中缀表达式,使用树将中缀表达式转换为后缀表达式,并输出后缀表达式和计算结果
码云链接:中缀后缀转换 · 45db562 · 2023Java_DS/余博雅20202311. - Gitee.com
## 三. 实验过程中遇到的问题和解决过程
主要的问题在于不知道决策树是什么,一度以为自己上课没认真听,然后在网上搜索得到答案。
## 其他(感悟、思考等)
学习树真的有种回到离散课堂的感觉。
二叉树真的是一个神奇的东西,利用它结果只有两个的性质我们可以实现数据的对比选择,这样就和数组联系起来了,此外,利用完全二叉树上下之间的二倍关系,我们可以精确查找某个数字所在的位置,十分方便。希望未来深入学习可以发现二叉树更多的妙用(为何二叉树成为了大家的选择*)
参考资料
- [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)
- [《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)
- https://www.csdn.net/