20202323 《数据结构与面向对象程序设计》实验八报告
# 20202323 2021-2022-1 《数据结构与面向对象程序设计》实验八报告
课程:《程序设计与数据结构》
班级: 2023
姓名: 蒙思洋
学号:20202323
实验教师:王志强
实验日期:2021年11月18日
必修/选修: 必修
一、实验内容
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进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台
码云地址:src/test1 · 2023Java_DS/msy20202323 - Gitee.com
2.基于LinkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二㕚树的功能,比如给出中序HDIBEMJNAFCKGL和后序ABDHIEJMNCFGKL,构造出附图中的树用JUnit或自己编写驱动类对自己实现的功能进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息课下把代码推送到代码托管平台
码云地址:
src/BTNODE · 2023Java_DS/msy20202323 - Gitee.com
src/LinkedBinaryTree · 2023Java_DS/msy20202323 - Gitee.com
-
-
3、自己设计并实现一颗决策树
-
提交测试代码运行截图,要全屏,包含自己的学号信息
-
课下把代码推送到代码托管平台
- Decision
-
4、输入中缀表达式,使用树将中缀表达式转换为后缀表达式,并输出后缀表达式和计算结果
-
(如果没有用树,正常评分。如果用到了树,即使有小的问题,也酌情给满分)
-
提交测试代码运行截图,要全屏,包含自己的学号信息
- 使用栈的作用fix
- 码云地址:
- src/fix · 2023Java_DS/msy20202323 - Gitee.com
- src/test4 · 2023Java_DS/msy20202323 - Gitee.com
3. 实验过程中遇到的问题和解决过程
- 问题1:构建树时没弄清楚树的原理和结构
- 问题解决方案:上百度和云班课复习一遍再加以练习就会更熟悉。
实验感悟
- 感觉编起来十分吃力,我的编程水平还比较低,应该继续练习,多敲代码。光靠课上听的内容不可能把java学好,我还要多想身边积极敲代码的同学们学习,取得更大的进步。
## 参考资料
- [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)
- [《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)
- ...