20182330 2019-2020-1 《数据结构与面向对象程序设计》实验八报告
Posted weiii
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20182330 2019-2020-1 《数据结构与面向对象程序设计》实验八报告相关的知识,希望对你有一定的参考价值。
20182330 2019-2020-1 《数据结构与面向对象程序设计》实验八报告
课程:《程序设计与数据结构》
班级: 1823
姓名: 魏冰妍
学号:20182330
实验教师:王志强
实验日期:2019年11月11日
必修/选修: 必修
1.实验内容
- 参考教材PP16.1,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder)用JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息课下把代码推送到代码托管平台
- 基于LinkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二?树的功能,比如给出中序HDIBEMJNAFCKGL和后序ABDHIEJMNCFGKL,构造出附图中的树。用JUnit或自己编写驱动类对自己实现的功能进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息。课下把代码推送到代码托管平台
- 自己设计并实现一颗决策树。提交测试代码运行截图,要全屏,包含自己的学号信息课下把代码推送到代码托管平台
- 输入中缀表达式,使用树将中缀表达式转换为后缀表达式,并输出后缀表达式和计算结果(如果没有用树,正常评分。如果用到了树,即使有小的问题,也酌情给满分。提交测试代码运行截图,要全屏,包含自己的学号信息
2. 实验过程及结果
实验一
查找元素并进行前序后序排列。下图调用之前的LinkedBinaryTree生成了一棵树。
实验二
用前缀和后缀表达式画出一棵树。主要思想就是定一个,找一个,二者相统一。
实验三
先自己模拟出一棵决策树,然后根据书上的decidetree改编自己的决策树。
实验四
中缀转后缀与之前做过的后缀转前缀类似,不同的是加入了符号运算这一环节。
3. 实验过程中遇到的问题和解决过程
- 问题1:打开Idea之后module里的java文件全部变成file型文件,无法运行。如图所示
(图中文件名后更改为实验八)
- 问题1解决方案:通过找同学和上网查找,发现这一类问题还不少。
(1)java文件全部变成file型文件,
- 项目结构需要有一个target目录,需要一个src目录
(2)module文件变成了普通文件夹。就比如这样,带蓝色方块的就是module文件夹。其实二者可以相互转化,
- 右击project,选择第二项“add framework support”,然后从对话框左侧选择“Maven”,OK即可
- 设置maven仓库地址:右击file,选择settings,找到maven,设置maven home directory以及后面两项。(图片大小超过限制。。我就不传图了)
- OK完成,等加载刷新。
(3)还有一种情况是导入文件的时候,如何导成module文件。
- 点击file->project structure..->Modules。点击右上角+加号 -》import Modules
- 选择你的项目,点击确定。在如下页面选择import modules from external model。选择maven,然后一直点击下一步next最后点击完成finished
导入之后如下,如果没有显示项目,加入点击Add Content Root加入项目路径。然后点击OK , 主界面正常显示项目结构
导入之后如下,如果没有显示项目,加入点击Add Content Root加入项目路径。然后点击OK , 主界面正常显示项目结构
问题2:又出现了找不到主类的问题
- 问题2解决方案:上网找到一个神仙方法——清除缓存并重启!
其他(感悟、思考等)
本次实验的难度不高,但是能看到调用了非常多之前写过的方法,层层调用环环相扣,如果之前的代码没有弄好,就是大工程了。而且树的理解很重要,必要的时候可以先在纸上拟出思路,再进行程序设计。
参考资料
以上是关于20182330 2019-2020-1 《数据结构与面向对象程序设计》实验八报告的主要内容,如果未能解决你的问题,请参考以下文章
20182330 2019-2020-1 《数据结构与面向对象程序设计》实验九报告
20182330 2019-2020-1 《数据结构与面向对象程序设计》实验二报告