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

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

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

1.实验内容

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

2. 实验过程及结果

实验一

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

实验二

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

实验三

先本身模拟出一棵决策树,而后根据书上的decidetree改编本身的决策树。
数据结构

实验四

中缀转后缀与以前作过的后缀转前缀相似,不一样的是加入了符号运算这一环节。
maven

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

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

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

  • 问题1解决方案:经过找同窗和上网查找,发现这一类问题还很多。

(1)java文件所有变成file型文件,post

  • 项目结构须要有一个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 , 主界面正常显示项目结构
    idea

  4. 导入以后以下,若是没有显示项目,加入点击Add Content Root加入项目路径。而后点击OK , 主界面正常显示项目结构

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

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

其余(感悟、思考等)

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

参考资料