20202329 实验九 《数据结构与面向对象程序设计》实验报告

# 20202329 2021-2022-1 《数据结构与面向对象程序设计》实验九报告

课程:《程序设计与数据结构》
班级: 2023
姓名:张焘
学号:20202329
实验教师:王志强
实验日期:2021年12月16日

必修/选修: 必修

一、实验内容

(1) 初始化:根据屏幕提示(例如:输入1为无向图,输入2为有向图)初始化无向图和有向图(可用邻接矩阵,也可用邻接表),图需要自己定义(顶点个数、边个数,建议先在草稿纸上画出图,然后再输入顶点和边数)(2分)
(2) 图的遍历:完成有向图和无向图的遍历(深度和广度优先遍历)(4分)
(3) 完成有向图的拓扑排序,并输出拓扑排序序列或者输出该图存在环(3分)
(4) 完成无向图的最小生成树(Prim算法或Kruscal算法均可),并输出(3分)
(5) 完成有向图的单源最短路径求解(迪杰斯特拉算法)(3分)

二、实验过程及结果

(1) 初始化:根据屏幕提示(例如:输入1为无向图,输入2为有向图)初始化无向图和有向图(可用邻接矩阵,也可用邻接表),图需要自己定义(顶点个数、边个数,建议先在草稿纸上画出图,然后再输入顶点和边数)(2分)

 

 

 

 

 

 https://gitee.com/besti2023javads/zt20202329/blob/master/GraphTest.java

https://gitee.com/besti2023javads/zt20202329/blob/master/Graph.java

(2) 图的遍历:完成有向图和无向图的遍历(深度和广度优先遍历)(4分)

 

 

 

 

 

 

https://gitee.com/besti2023javads/zt20202329/blob/master/DeepFirstSort.java

(3) 完成有向图的拓扑排序,并输出拓扑排序序列或者输出该图存在环(3分)

 

 

 

 

 

 

 

 

 

https://gitee.com/besti2023javads/zt20202329/blob/master/ToPo.java

 (4) 完成无向图的最小生成树(Prim算法或Kruscal算法均可),并输出(3分)

用Kruscal算法

 

 

 

已在草稿纸上已验证,但草稿纸。。。

https://gitee.com/besti2023javads/zt20202329/blob/master/Kruskal.java

 (5) 完成有向图的单源最短路径求解(迪杰斯特拉算法)(3分)

 

 

 

 

 

 

 https://gitee.com/besti2023javads/zt20202329/blob/master/Dijkstra2.java

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

此次遇到问题就是在死磕。

## 其他(感悟、思考等)

只能说,最后一次实验报告可以上交了。过程十分艰辛,不过提前在草稿纸上画出来再对照着弄会更容易一些。实在是太难,太难,太难。

最后一点希望:超人考试给我过,给我过,给我过!!!

 

posted @ 2021-12-23 00:07  20202329张焘  阅读(47)  评论(0编辑  收藏  举报