20192327 2020-2021-1 《数据结构与面向对象程序设计》实验八报告
课程:《程序设计与数据结构》
班级: 1923
姓名: 何源
学号: 20192327
实验教师:王志强
实验日期:2020年12月3日
必修/选修: 必修
1.实验内容
1.(1)给定一个序列AB#CD###E#F##建立一颗树,根据“二叉树的生成”算法构造这颗树。(3分)
(2)使用层序遍历方法完成遍历并测试(3分)。
2.基于LinkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二㕚树的功能,比如给出中序HDIBEMJNAFCKGL和先序ABDHIEJMNCFGKL,构造出附图中的树
用JUnit或自己编写驱动类对自己实现的功能进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台
3.自己设计并实现一颗决策树
提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台
4.输入中缀表达式,使用树将中缀表达式转换为后缀表达式,并输出后缀表达式和计算结果(如果没有用树,正常评分。如果用到了树,即使有小的问题,也酌情给满分)
提交测试代码运行截图,要全屏,包含自己的学号信息
5.参考教材PP16.1,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder)
用JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息
课下把代码推送到代码托管平台
2.实验过程
1.二叉树的建立和层序遍历法实践
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》、《Java程序设计与数据结构》以及上课内容:
构建项目,运行教材相关代码,结果如下:
码云:https://gitee.com/besti1923/hy20192327/tree/master/src/test8
2.实验八 树-2-中序先序序列构造二叉树(例子中的后序为先序)
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》、《Java程序设计与数据结构》以及上课内容:
构建项目,运行教材相关代码,结果如下:
码云:https://gitee.com/besti1923/hy20192327/tree/master/src/test8
3.实验八 树-3-决策树
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》、《Java程序设计与数据结构》以及上课内容:
构建项目,运行教材相关代码,结果如下:
码云:https://gitee.com/besti1923/hy20192327/tree/master/src/test8
4.实验八 树-4-表达式树(本题3分)
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》、《Java程序设计与数据结构》以及上课内容:
构建项目,运行教材相关代码,结果如下:
码云:https://gitee.com/besti1923/hy20192327/tree/master/src/test8
5.实验八-1-实现二叉树
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》、《Java程序设计与数据结构》以及上课内容:
构建项目,运行教材相关代码,结果如下:
码云:https://gitee.com/besti1923/hy20192327/tree/master/src/test8
其他(感悟、思考等)
多练,多练,多练。一定要多练。多看书,只有这样才能跟上节奏,只是单纯的指望上课时的内容是靠不住的。
现在不只是多练了,现在还得多想,多收集错误。要不然就会老在一个坑里跌倒。
要学会在多个资源网站上寻找学习资源自学一些自己不熟悉的知识和技术。
要学会自学。
要在写实验代码的同时在纸上画出相应的树辅助思考
参考资料
- 《Java程序设计与数据结构教程(第二版)》
- 《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》
- 《Java程序设计与数据结构教程(第二版)》学习指导!