20202316 2021-2022-1 《数据结构与面向对象程序设计》实验八报告

# 20202316  2021-2022-1 《数据结构与面向对象程序设计》实验八报告

课程:《程序设计与数据结构》
班级: 2023
姓名: 饶坤
学号:20202316
实验教师:王志强
实验日期:2021年11月20日
必修/选修: 必修

## 1.实验内容

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

## 2. 实验过程及结果

(1)参考教材PP16.1,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder)

  • 用JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
  • 课下把代码推送到代码托管平台

方法补充

 

 

 

 

测试

 

 

 

 

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

  • 用JUnit或自己编写驱动类对自己实现的功能进行测试,提交测试代码运行截图,要全屏,包含自己的学号信
  • 课下把代码推送到代码托管平台

 

 

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

  • 提交测试代码运行截图,要全屏,包含自己的学号信息
  • 课下把代码推送到代码托管平台

 

 

 

 

 

 

 

 

 

 

(4)输入中缀表达式,使用树将中缀表达式转换为后缀表达式,并输出后缀表达式和计算结果(如果没有用树,正常评分。如果用到了树,即使有小的问题,也酌情给满分)

  • 提交测试代码运行截图,要全屏,包含自己的学号信息

 

 

 

 

 

## 3. 实验过程中遇到的问题和解决过程
- 问题1:写决策树的时候总是把树的左右弄反
- 问题1解决方案:现列个树表,再对照一一写上去,注明左右孩子
- 问题2:将中缀转换为后缀是,我将个别符号漏掉

- 问题2解决方案:我重新看了几遍代码,最终发现是有一个符号没写代码进去

## 其他

感悟:树,虽然老师上课讲的十分的详细,但是当我们开始写的时候,还是会有一种力不从心的感觉,只能是现对照着课本进行模仿,然后在课本的基础上,在慢慢弄增加我的代码,遇到一些不会的,就只能去问同学或者是上网搜,纸上学来终觉浅,还是得多多手敲代码,多多思考代码得构成,多学习相应得代码知识。

## 参考资料

-  《Java程序设计教程(第九版)》

-  《Java软件结构与数据结构(第四版)》

 
- 网页搜索资料:https://blog.csdn.net/qq_26219679/article/details/79647221

-

 

posted @ 2021-11-28 18:34  饶坤  阅读(24)  评论(0编辑  收藏  举报