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


    课程:《程序设计与数据结构》
    班级: 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程序设计与数据结构教程(第二版)》学习指导

  • 相关阅读:
    钢镚儿和鲨鱼记账的差距
    团队绩效管理
    做什么都队第一段冲刺绩效评比
    第一阶段各组对我们的评价
    第一阶段对各小组的评价
    团队十日冲刺最后一天
    团队十日冲刺第九天
    团队十日冲刺第八天
    满心萧然要坚持更博客鸭
    生而为人
  • 原文地址:https://www.cnblogs.com/lijinquan/p/11879167.html
Copyright © 2020-2023  润新知