数据结构与面向对象程序设计》实验8报告
Posted lyz182329
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构与面向对象程序设计》实验8报告相关的知识,希望对你有一定的参考价值。
学号 20182329 2019-2020-1 《数据结构与面向对象程序设计》实验8报告
- 课程:《程序设计与数据结构》
- 班级: 1823
- 姓名: 李一卓
- 学号:20182329
- 实验教师:王志强
- 实验日期:2019年10月16日
- 必修/选修: 必修
1.实验内容
- 自己根据链的结构,编写一个二叉树。
- 创建NODE的ATD结构,以及Link的ATD结构以适应树的建立。
- 学会使用树的先序遍历、中序遍历、后序遍历,来查找、后者是建立树。
- 学习决策树的的定义和实现方法,可以参照完全二叉树的建立。
- 实验四也就是用中缀表达式建立一棵树,用后缀表达式输出。
2. 实验过程及结果
参考教材PP16.1,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder)用JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
基于LinkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二?树的功能,比如给出中序HDIBEMJNAFCKGL和后序ABDHIEJMNCFGKL,构造出附图中的树
用JUnit或自己编写驱动类对自己实现的功能进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
- 自己设计并实现一颗决策树
- 输入中缀表达式,使用树将中缀表达式转换为后缀表达式,并输出后缀表达式和计算结果
3. 实验过程中遇到的问题和解决过程
- 问题1:我在建立决策树的时候发现我的树不能往下走,只能应留在root节点。
- 问题1解决方法:后来我发现我在建立决策树的时候依旧使用的是二叉树的建立方法,使用add来建立,应该使用diagnose方法,用Scanner输入,判断语句来执行。
- 问题2:在实验3时,运行自己的决策树时,发现自己的类出现以下错误,
而且我发现我的所有程序都出现了这个错误,无法运行
- 问题2解决方法:在网上找了好久资料,都是环境变量的问题,我在我的window命令行下看了一下java 和javac 两个均是1.7 而且可以正常的编译和运行。排除了java 环境的问题,只能是IDEA环境的问题,在项目的project structure 中,先将项目指定JDK ,然后在项目的PATH 中,将path修改为跟当前项目在一个路径下就可以了
但是这样得从新建一个project,其他的方法我也试过。
原因是缺少生成的主类字节码文件 普通java项目字节码文件保存在bin文件夹。里面就是你项目类的字节码文件和资源生成文件。如果有主类字节码文件,而没有其他需要类的字节码文件,不会显示错误: 找不到或无法加载主类 xxx, 而是会显示抛出异常,找不到某个类。
其他(感悟、思考等)
在学习链的查找时,发现有很多方法可以用,不是非要冒泡法或选择排序发,哈希法取模循环排序也可以为数字排序,不过排序首先得查找,再决定用交换还是插入排序,当然最简单的线性排序交换也可以,快速排序的交换方法是最快的算法。建立树的时候,一定要规定好他的结构,说书是一个非线性结构,其元素组织是层次结构,在进行遍历的时候,一定得注意数的左右子树的关系,以及数的构建方法。
参考资料
以上是关于数据结构与面向对象程序设计》实验8报告的主要内容,如果未能解决你的问题,请参考以下文章
20182308 华罗晗 2019-2020-1 《数据结构与面向对象程序设计》实验8报告
20182303 2019-2020-1 《数据结构与面向对象程序设计》实验8报告
20182323 2019-2020-1 《数据结构与面向对象程序设计》实验九报告
20182323 2019-2020-1 《数据结构与面向对象程序设计》实验七报告