20172311 2018-2019-1《程序设计与数据结构》实验二报告

20172311 2018-2019-1《程序设计与数据结构》实验二报告

课程:《程序设计与数据结构》
班级: 1723
姓名: 赵晓海
学号:20172311
实验教师:王志强
实验日期:2018年11月2日
必修/选修: 必修


1.实验内容

实验二-1-实现二叉树

参考教材p212,完成链树LinkedBinaryTree的实现(getRight,contains,toString,preorder,postorder)

用JUnit或自己编写驱动类对自己实现的LinkedBinaryTree进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息

课下把代码推送到代码托管平台

实验二 树-2-中序先序序列构造二叉树

基于LinkedBinaryTree,实现基于(中序,先序)序列构造唯一一棵二㕚树的功能,比如给出中序HDIBEMJNAFCKGL和后序ABDHIEJMNCFGKL,构造出附图中的树

用JUnit或自己编写驱动类对自己实现的功能进行测试,提交测试代码运行截图,要全屏,包含自己的学号信息

课下把代码推送到代码托管平台

实验二 树-3-决策树

自己设计并实现一颗决策树

提交测试代码运行截图,要全屏,包含自己的学号信息

课下把代码推送到代码托管平台

实验二 树-4-表达式树

输入中缀表达式,使用树将中缀表达式转换为后缀表达式,并输出后缀表达式和计算结果(如果没有用树,则为0分)

提交测试代码运行截图,要全屏,包含自己的学号信息

课下把代码推送到代码托管平台

实验二 树-5-二叉查找树

完成PP11.3

提交测试代码运行截图,要全屏,包含自己的学号信息

课下把代码推送到代码托管平台

实验二 树-6-红黑树分析

参考http://www.cnblogs.com/rocedu/p/7483915.html对Java中的红黑树(TreeMap,HashMap)进行源码分析,并在实验报告中体现分析结果。
(C:\Program Files\Java\jdk-11.0.1\lib\src\java.base\java\util)


2.实验过程及结果

实验二-1-实现二叉树

结果提交截图:

1.测试类代码:


2.运行结果:

实验最终代码链接:

LinkedBinaryTree
LinkedBinaryTreeTest

本实验收获:

对链式二叉树的实现及应用有了较为深入的认识。


实验二 树-2-中序先序序列构造二叉树

结果提交截图:

1.测试类代码:

2.核心方法代码:

3.运行截图:

实验最终代码链接:

ReConstructBinaryTree

本实验收获:

想起我们课堂上亲手做这个题的速度,嗯!和计算机的差距还是蛮大的!


实验二 树-3-决策树

结果提交截图:

1.写入文件:

2.测试类代码及运行结果:

实验最终代码链接:

input
BackPainAnalyzer
DecisionTree

本实验收获:

利用树创建了自己的一个决策树,还是比较开心的。


实验二 树-4-表达式树

结果提交截图:

1.测试类代码:

2.用树将中缀表达式转换为后缀表达式代码:

3.测试结果代码:

实验最终代码链接:

PostfixTester
PostfixEvaluator

本实验收获

实现了使用树将中缀表达式转为后缀表达式的方法,虽然不包含有括号的情况,但还是挺开心的!


实验二 树-5-二叉查找树

结果提交截图:
实验最终代码链接:
本实验收获:

实验二 树-6-红黑树分析

结果提交截图:
实验最终代码链接:
本实验收获:

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

  • 问题1:
  • 问题1解决方案:

  • 问题2:
  • 问题2解决方案:


4.感想

5.参考资料

猜你喜欢

转载自www.cnblogs.com/zhaoxiaohai/p/9941917.html