20202306 实验报告八《树》

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

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

## 1.实验内容

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

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

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

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

## 2. 实验过程及结果
LinkedBinaryTree的实现

码云链接:https://e.gitee.com/besti-cs/repos/besti-cs/ljc20202306_Java/blob/bin/src/LinkedBinaryTree.java

       https://e.gitee.com/besti-cs/repos/besti-cs/ljc20202306_Java/blob/bin/src/BTNode.java

       https://e.gitee.com/besti-cs/repos/besti-cs/ljc20202306_Java/blob/bin/src/BinaryTree.java

       https://e.gitee.com/besti-cs/repos/besti-cs/ljc20202306_Java/blob/bin/src/LinearNode.java

       https://e.gitee.com/besti-cs/repos/besti-cs/ljc20202306_Java/blob/bin/src/QueueADT.java

实现基于(中序、先序)序列构造唯一一颗二叉树的功能

码云链接:https://e.gitee.com/besti-cs/repos/besti-cs/ljc20202306_Java/blob/bin/src/LinkedBinaryTree2.java

       https://e.gitee.com/besti-cs/repos/besti-cs/ljc20202306_Java/blob/bin/src/LinkedBinaryTreeTest2.java

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

 

 

 码云链接:https://e.gitee.com/besti-cs/repos/besti-cs/ljc20202306_Java/blob/bin/src/Decision.java

         https://e.gitee.com/besti-cs/repos/besti-cs/ljc20202306_Java/blob/bin/src/DecisionTest.java

中缀表达式转换为后缀表达式

 

 码云链接:https://e.gitee.com/besti-cs/repos/besti-cs/ljc20202306_Java/blob/bin/src/Fix.java

      https://e.gitee.com/besti-cs/repos/besti-cs/ljc20202306_Java/blob/bin/src/FixTest.java

## 3. 实验过程中遇到的问题和解决过程
- 问题1:对于问题难以用编程语言进行描述。
- 问题1解决方案:抽茧剥丝,利用教材寻找描述方法,进行合理使用和变化。

## 其他(感悟、思考等)


  排序结构操作方法多样,但结果都是相同的,因此才有探索的意义和兴趣,这需要极强的耐心和良好的逻辑思维能力。对于不懂的问题一定要存疑多问,切忌闭门造车,自以为是。要加强概念性的理解,体悟后才能将这样的原理用编程语言加以描述,提高这方面的能力。


## 参考资料

-  [《Java和Andriod开发学习指南(第二版)人民邮电出版社》]

-  [《Java软件结构与数据结构(第三版)清华大学出版社》]

posted @ 2021-11-28 10:28  20202306李金城  阅读(63)  评论(0编辑  收藏  举报