实验八

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

课程:《程序设计与数据结构》
班级: 1823
姓名: 孙嘉伟
学号:20182302
实验教师:王志强
实验日期:2019年10月23日
必修/选修: 必修

1.实验内容

  • 参考教材PP16.1,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder)
    用JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
    课下把代码推送到代码托管平台
  • 基于LinkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二㕚树的功能,比如给出中序HDIBEMJNAFCKGL和后序ABDHIEJMNCFGKL,构造出附图中的树
  • 用JUnit或自己编写驱动类对自己实现的功能进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
    课下把代码推送到代码托管平台
  • 自己设计并实现一颗决策树
    提交测试代码运行截图,要全屏,包含自己的学号信息
    课下把代码推送到代码托管平台
  • 输入中缀表达式,使用树将中缀表达式转换为后缀表达式,并输出后缀表达式和计算结果(如果没有用树,正常评分。如果用到了树,即使有小的问题,也酌情给满分)
    提交测试代码运行截图,要全屏,包含自己的学号信息

2. 实验过程及结果




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

  • 问题1: Scan方法遗忘
  • 问题1解决方案:通过以前代码想起格式
  •  Scanner sc=new Scanner(System in);
    
  • 问题2:对数组输入方式有所遗忘
  • 问题2解决方案:百度查询得
  •  System.out.println("请输入几个数并用逗号隔开:");
     Scanner sc = new Scanner(System.in);
     String str = sc.next().toString();
     String[] arr  = str.split(",");
     int[] b = new int[arr.length];
     for(int j = 0; j<b.length;j++) {
     b[j] = Integer.parseInt(arr[j]);
     }
    

————————————————

  • 问题3:教材代码中的ArrayIterator类无法被识别
  • 问题2解决方案:修改方法的定义类型为ArrayList

其他(感悟、思考等)

对决策树的编码实现掌握不熟练,需要日后多练习。课本中代码在自己电脑上运行时报错,以后会偏向理解代码再进行改编。

参考资料

posted @ 2019-11-17 23:01  20182302  阅读(139)  评论(0编辑  收藏  举报