20202318 《数据结构与面向对象程序设计》实验八报告

课程:《程序设计与数据结构》
班级: 2023
姓名: 柳星宇
学号:20202318
实验教师:王志强
实验日期:2021年11月25日
必修/选修: 必修

实验内容

参考教材PP16.1,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder

JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息

课下把代码推送到代码托管平台

基于LinkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二㕚树的功能,比如给出中序HDIBEMJNAFCKGL和后序ABDHIEJMNCFGKL,构造出附图中的树

JUnit或自己编写驱动类对自己实现的功能进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息

课下把代码推送到代码托管平台

自己设计并实现一颗决策树

提交测试代码运行截图,要全屏,包含自己的学号信息

课下把代码推送到代码托管平台

输入中缀表达式,使用树将中缀表达式转换为后缀表达式,并输出后缀表达式和计算结果(如果没有用树,正常评分。如果用到了树,即使有小的问题,也酌情给满分)

提交测试代码运行截图,要全屏,包含自己的学号信息

 

实验过程及结果:

1、关于树结点代码:BinaryTreeNode.java · 柳星宇/JAVA project - 码云 - 开源中国 (gitee.com)

实验截图:

 

 

 2、基于LinkedBinaryTree生成二叉树:CreateTree.java · 柳星宇/JAVA project - 码云 - 开源中国 (gitee.com)

实验截图:

 

3、自设计决策树相关代码:PsychologicalTest.java · 柳星宇/JAVA project - 码云 - 开源中国 (gitee.com)

实验截图:

 

 

4、中缀转后缀相关代码:FixTest.java · 柳星宇/JAVA project - 码云 - 开源中国 (gitee.com)

实验截图:

 

 

本次实验总代码合集:实验八 · db85723 · 柳星宇/JAVA project - Gitee.com

 

 

遇到的问题与解决方案:

①写决策树的时候总是把树的左右弄反;解决方案:纠正左右子树

②将中缀转换为后缀,程序总是报错;解决方案:发现逻辑错误,予以纠正

 

实验思考与感悟:

第一次照葫芦画瓢打了这么多的代码,深感JAVA语言与我们思维的逻辑步骤的不同,因此尽管老师上课讲的十分的详细,但是当我开始操作的时候,还是会有一种力不从心的感觉。不过经过本次实验,我对JAVA语言的理解进一步加深了,冲冲冲,期考不挂。

 

posted @ 2021-11-28 21:09  柳星宇  阅读(27)  评论(0编辑  收藏  举报