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

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

课程:《程序设计与数据结构》
班级: 1823
姓名: 董其鹏
学号: 20182309
实验教师:王志强
实验日期:2019年11月16日
必修/选修: 必修

1.实验内容

  • 参考教材PP16.1,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder)
  • 基于LinkedBinaryTree,实现基于(中序,后序)序列构造唯一一棵二㕚树的功能,比如给出中序HDIBEMJNAFCKGL和后序ABDHIEJMNCFGKL,构造出附图中的树
  • 自己设计并实现一颗决策树
  • 输入中缀表达式,使用树将中缀表达式转换为后缀表达式,并输出后缀表达式和计算结果(如果没有用树,正常评分。如果用到了树,即使有小的问题,也酌情给满分)

2. 实验过程及结果

20182309 2019-2020-1 《数据结构与面向对象程序设计》实验八报告_第1张图片
20182309 2019-2020-1 《数据结构与面向对象程序设计》实验八报告_第2张图片
20182309 2019-2020-1 《数据结构与面向对象程序设计》实验八报告_第3张图片
20182309 2019-2020-1 《数据结构与面向对象程序设计》实验八报告_第4张图片

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

  • 问题1:后序中序转先序的思路
  • 问题1解决方案:在后序找到根节点,用中序把左右子树分开,递归。
  • 问题2:后缀表达式不好用树写
  • 问题2解决方案:用栈写,方法如下
    20182309 2019-2020-1 《数据结构与面向对象程序设计》实验八报告_第5张图片

其他

  • 树能很好地完成比较选择的任务。
  • 决策树就类似于安卓的按键,思路可以用于开发安卓程序。

参考资料

  • 《Java程序设计与数据结构教程(第二版)》

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

你可能感兴趣的:(20182309 2019-2020-1 《数据结构与面向对象程序设计》实验八报告)