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

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

课程:《程序设计与数据结构》

班级: 1823

姓名: 鞠明翰

学号:20182314

实验教师:王志强

实验日期:2019年11月11日

必修/选修: 必修

1.实验内容

(1)实验八 实现二叉树

参考教材PP16.1,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder)
用JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台

(2)中序先序序列构造二叉树

基于LinkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二㕚树的功能,比如给出中序HDIBEMJNAFCKGL和后序ABDHIEJMNCFGKL,构造出附图中的树
用JUnit或自己编写驱动类对自己实现的功能进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台

(3)决策树

自己设计并实现一颗决策树
提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台

(4)表达式树

输入中缀表达式,使用树将中缀表达式转换为后缀表达式,并输出后缀表达式和计算结果(如果没有用树,正常评分。如果用到了树,即使有小的问题,也酌情给满分)
提交测试代码运行截图,要全屏,包含自己的学号信息

2. 实验过程及结果

实验过程:按照蓝墨云上给的实验步骤,进行实验,完成本次实验并将实验结果截图,将代码上传至码云完成全部实验要求。

  • 实验八(1)

  • 实验八(2)

  • 实验八(3)

  • 实验八(4)

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

  • 问题1:子树无法通过链表方式与根节点相连接。

  • 问题1解决方案:
    将节点的定义方式更改,从下往上定义节点,在根节点处定义时直接将左右两个子树的根节点连接在根节点上。

  • 问题2:在写决策树时,一开始没有仔细学习,就看了一下老师的决策树代码和简单的听了听,结果写的时候根本写不出来

  • 问题2解决方案:乱写了几次实验后,我意识到自己就这么写确实写不出来,于是我重新看了看有关决策树的博客,学习了一番终于实现了决策树。

参考资料

posted @ 2019-11-17 21:34  20182314鞠明翰  阅读(141)  评论(0编辑  收藏  举报