20182302 2019-2020-1 《数据结构与面向对象程序设计》实验 8 报告
课程:《程序设计与数据结构》
班级: 1823
姓名: 孙嘉伟
学号: 20182302
实验教师: 王志强
实验日期: 2019 年 10 月 23 日
必修 / 选修: 必修
参考教材 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
其他(感悟, 思考等)
对决策树的编码实现掌握不熟练, 需要日后多练习. 课本中代码在自己电脑上运行时报错, 以后会偏向理解代码再进行改编.
参考资料
《Java 程序设计与数据结构教程(第二版)》 https://book.douban.com/subject/26851579/
《Java 程序设计与数据结构教程(第二版)》学习指导 https://www.cnblogs.com/rocedu/p/5182332.html
实验八
来源: http://www.bubuko.com/infodetail-3292978.html