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
其他(感悟、思考等)
对决策树的编码实现掌握不熟练,需要日后多练习。课本中代码在自己电脑上运行时报错,以后会偏向理解代码再进行改编。