20182330 2019-2020-1 《数据结构与面向对象程序设计》实验八报告

20182330 2019-2020-1 《数据结构与面向对象程序设计》实验八报告

课程:《程序设计与数据结构》
班级: 1823
姓名: 魏冰妍
学号:20182330
实验教师:王志强
实验日期:2019年11月11日
必修/选修: 必修

1.实验内容

  1. 参考教材PP16.1,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder)用JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息课下把代码推送到代码托管平台
  2. 基于LinkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二㕚树的功能,比如给出中序HDIBEMJNAFCKGL和后序ABDHIEJMNCFGKL,构造出附图中的树。用JUnit或自己编写驱动类对自己实现的功能进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息。课下把代码推送到代码托管平台
  3. 自己设计并实现一颗决策树。提交测试代码运行截图,要全屏,包含自己的学号信息课下把代码推送到代码托管平台
  4. 输入中缀表达式,使用树将中缀表达式转换为后缀表达式,并输出后缀表达式和计算结果(如果没有用树,正常评分。如果用到了树,即使有小的问题,也酌情给满分。提交测试代码运行截图,要全屏,包含自己的学号信息

2. 实验过程及结果

实验一

查找元素并进行前序后序排列。下图调用之前的LinkedBinaryTree生成了一棵树。

实验二

用前缀和后缀表达式画出一棵树。主要思想就是定一个,找一个,二者相统一。

实验三

先自己模拟出一棵决策树,然后根据书上的decidetree改编自己的决策树。

实验四

中缀转后缀与之前做过的后缀转前缀类似,不同的是加入了符号运算这一环节。

3. 实验过程中遇到的问题和解决过程

  • 问题1:打开Idea之后module里的java文件全部变成file型文件,无法运行。如图所示

(图中文件名后更改为实验八)

  • 问题1解决方案:通过找同学和上网查找,发现这一类问题还不少。

(1)java文件全部变成file型文件,

  • 项目结构需要有一个target目录,需要一个src目录

(2)module文件变成了普通文件夹。就比如这样,带蓝色方块的就是module文件夹。其实二者可以相互转化,

  1. 右击project,选择第二项“add framework support”,然后从对话框左侧选择“Maven”,OK即可
  2. 设置maven仓库地址:右击file,选择settings,找到maven,设置maven home directory以及后面两项。(图片大小超过限制。。我就不传图了)
  3. OK完成,等加载刷新。

(3)还有一种情况是导入文件的时候,如何导成module文件。

  1. 点击file->project structure..->Modules。点击右上角+加号 -》import Modules

  2. 选择你的项目,点击确定。在如下页面选择import modules from external model。选择maven,然后一直点击下一步next最后点击完成finished

  3. 导入之后如下,如果没有显示项目,加入点击Add Content Root加入项目路径。然后点击OK , 主界面正常显示项目结构

  4. 导入之后如下,如果没有显示项目,加入点击Add Content Root加入项目路径。然后点击OK , 主界面正常显示项目结构

  • 问题2:又出现了找不到主类的问题

  • 问题2解决方案:上网找到一个神仙方法——清除缓存并重启!

其他(感悟、思考等)

本次实验的难度不高,但是能看到调用了非常多之前写过的方法,层层调用环环相扣,如果之前的代码没有弄好,就是大工程了。而且树的理解很重要,必要的时候可以先在纸上拟出思路,再进行程序设计。

参考资料

原文地址:https://www.cnblogs.com/weiii/p/11875656.html