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

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

课程:《程序设计与数据结构》
班级: 1823
姓名: 张景昊
学号:20182328
实验教师:王志强
实验日期:2019年X月X日
必修/选修: 必修

1.实验内容

1、参考教材PP16.1,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder)
用JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试。

2、基于LinkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二㕚树的功能,比如给出中序HDIBEMJNAFCKGL和后序ABDHIEJMNCFGKL,构造出附图中的树。

3、自己设计并实现一颗决策树。

4、输入中缀表达式,使用树将中缀表达式转换为后缀表达式,并输出后缀表达式和计算结果。

2. 实验过程及结果

  • 实验1

    根据课本上的代码完成二叉树的实现,再写一个驱动类进行测试。

  • 实验2

    在实验1的基础上继续实践,首先用先序确定一下根,再利用根来在中序中的位置找到左右子树,最后再递归。

  • 实验3

    自己设计并实现一颗决策树

  • 实验4

    构建表达式二叉树来实现实验4

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

  • 问题1:决策树可以用switch结构吗?
  • 问题1解决方案:可以,但是没有必要,因为决策树的结果只有两个“yes”或者“no”。

其他(感悟、思考等)

再一次做二叉树的进阶实验,虽然一开始不是很会,但是通过网上查资料还是弄懂了,设计决策树一开始也是不行,我是找其它同学帮忙才解决的,总之,这次实验感觉还是很困难的,给我相当大的考验。

参考资料

  • 《Java程序设计与数据结构教程(第二版)》

  • 《Java程序设计与数据结构教程(第二版)》学习指导
  • ...

你可能感兴趣的:(20182328 2019-2020-1 《数据结构与面向对象程序设计》实验八报告)