20182306 2019-2020-1 《数据结构与面向对象程序设计》实验九报告

课程:《程序设计与数据结构》
班级: 1823
姓名: 管伟宇
学号:20182306
实验教师:王志强
实验日期:2019年9月2日
必修/选修: 必修

1.实验内容

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

2. 实验过程及结果





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

  • 问题1:Prim算法不太懂
  • 问题1解决方案:
    通过加入最小邻接边的方法来建立最小生成树算法。首先构造一个零图,在选一个初始顶点加入到新集合中,然后分别在原先的顶点集合中抽取一个顶点,使得构成的边为权值最小,然后将该笔边加入到图中,并将抽出的顶点加入到新集合中,重复这个过程,知道新集合等于原先的集合。

其他(感悟、思考等)

终于没有实验啦!!!

参考资料