20192327 2020-2021-1 《数据结构与面向对象程序设计》实验九报告
20192327 2020-2021-1 《数据结构与面向对象程序设计》实验九报告
课程:《程序设计与数据结构》
班级: 1923
姓名: 何源
学号: 20192327
实验教师:王志强
实验日期:2020年12月14日
必修/选修: 必修
1.实验内容
(1) 初始化:根据屏幕提示(例如:输入1为无向图,输入2为有向图)初始化无向图和有向图(可用邻接矩阵,也可用邻接表),图需要自己定义(顶点个数、边个数,建议先在草稿纸上画出图,然后再输入顶点和边数)(2分)
(2) 图的遍历:完成有向图和无向图的遍历(深度和广度优先遍历)(4分)
(3) 完成有向图的拓扑排序,并输出拓扑排序序列或者输出该图存在环(3分)
(4) 完成无向图的最小生成树(Prim算法或Kruscal算法均可),并输出(3分)
(5) 完成有向图的单源最短路径求解(迪杰斯特拉算法)(3分)
PS:本题12分。目前没有明确指明图的顶点和连通边,如果雷同或抄袭,本次实验0分。
2.实验过程
(1) 初始化:根据屏幕提示(例如:输入1为无向图,输入2为有向图)初始化无向图和有向图(可用邻接矩阵,也可用邻接表),图需要自己定义(顶点个数、边个数,建议先在草稿纸上画出图,然后再输入顶点和边数)(2分)
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》、《Java程序设计与数据结构》以及上课内容:
构建项目,运行教材相关代码,结果如下:
码云:https://gitee.com/besti1923/hy20192327/tree/master/src/test9/submission1
2.实验八 树-2-中序先序序列构造二叉树(例子中的后序为先序)
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》、《Java程序设计与数据结构》以及上课内容:
构建项目,运行教材相关代码,结果如下:
码云:https://gitee.com/besti1923/hy20192327/tree/master/src/test9/submission2
3.实验八 树-3-决策树
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》、《Java程序设计与数据结构》以及上课内容:
构建项目,运行教材相关代码,结果如下:
码云:https://gitee.com/besti1923/hy20192327/tree/master/src/test9/submission3
4.实验八 树-4-表达式树(本题3分)
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》、《Java程序设计与数据结构》以及上课内容:
构建项目,运行教材相关代码,结果如下:
码云:https://gitee.com/besti1923/hy20192327/tree/master/src/test9/submission4
5.实验八-1-实现二叉树
参考《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》、《Java程序设计与数据结构》以及上课内容:
构建项目,运行教材相关代码,结果如下:
码云:https://gitee.com/besti1923/hy20192327/tree/master/src/test9/submission5
其他(感悟、思考等)
多练,多练,多练。一定要多练。多看书,只有这样才能跟上节奏,只是单纯的指望上课时的内容是靠不住的。
现在不只是多练了,现在还得多想,多收集错误。要不然就会老在一个坑里跌倒。
要学会在多个资源网站上寻找学习资源自学一些自己不熟悉的知识和技术。
要学会自学。
要在写实验代码的同时在纸上画出相应的树辅助思考
图论的相关问题并不主要在理解理论本身,更在于代码实现,需要用到之前树的知识点
参考资料
- 《Java程序设计与数据结构教程(第二版)》
- 《Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)》
- 《Java程序设计与数据结构教程(第二版)》学习指导!