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

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

时间:2019-11-17 23:39:15      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:lin   过程   意思   计算   它的   bic   中序   比较   含义   

课程:《程序设计与数据结构》
班级: 1823
姓名: 李金泉
学号:20182335
实验教师:王志强
实验日期:2019年11月4日
必修/选修: 必修

1.实验内容

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

2.基于LinkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二?树的功能,比如给出中序HDIBEMJNAFCKGL和先序ABDHIEJMNCFGKL,构造出附图中的树,用JUnit或自己编写驱动类对自己实现的功能进行测试。

3.自己设计并实现一颗决策树并完成测试。

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

2. 实验过程及结果

实验8(1)
技术图片

实验8(2)
技术图片

实验8(3)
技术图片

实验8(4)
技术图片

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

问题1:为什么为实现某一个功能,一般都写两个方法:Public、Private方法,然后我们用就调用这个pubic方法?

问题1解决方案:经过查资料知道这样做主要有两个好处:
一. 从代码上看,以上面的实验二方法为例、两者的传入数据虽然相同,都是两个数组。但是他们的返回值不同,也就是说:有返回值的方法,使用该方法时能够得到一些类型的数据再来利用。
二. 从整体上看,这是一种保护机制,不让自己这个类以外的方法去随便使用这个类的数据,可以保护他的数据,只能通过调用自己类的方法去操纵这些数据。这样会很安全

问题2:在完成决策树时,一开始没有仔细学习,没理解那些数字的含义,仅仅是看了几段比较有代表性的决策树代码后就想上手操作,对于决策的执行过程完全找不到方向

问题2解决方案:
在进行几次低效率的实验来判断选择结果之后,我意识到自己走到了歧路上,于是重新看了看决策树代码的含义,才发现那些数字就是代表选择结果构造树,然后按照左下到右下,从下往上的规律排列来达到决策的目的,修改代码后终于实现了决策树

其他(感悟、思考等)

本次实验主要的是排序和查找的算法的一些设计,帮助我们复习了之前的内容. 我对实验的过程还是不够了解和掌握,尤其是调试的过程中有很多步骤不知道它的具体意思,需要向同学请教和学习。以后会继续努力弄懂每个步骤。

## 参考资料
《Java程序设计与数据结构教程(第二版)》

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

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

标签:lin   过程   意思   计算   它的   bic   中序   比较   含义   

原文地址:https://www.cnblogs.com/lijinquan/p/11879167.html

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