码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-11-17 13:06:40      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:感悟   第二版   ring   最快   构建   www   序列   jdk   关系   

学号 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报告

标签:感悟   第二版   ring   最快   构建   www   序列   jdk   关系   

原文地址:https://www.cnblogs.com/lyz182329/p/11875841.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!