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

课程:《程序设计与数据结构》

班级: 1923

姓名: 张晨宇

学号:20192301

实验教师:王志强

实验日期:2020年12月28日

必修/选修: 必修

1.实验内容

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

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

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

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

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

2. 实验过程及结果

(1)

(2)

(3)

(4)

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

  • 问题1:构建图基础步骤想了很久。
  • 问题1解决方案:多次重构,在纸上计算构造,整理思路,写出更简洁的代码。
  • 问题2:迪杰斯特拉算法。
  • 问题2解决方案:翻看之前的代码,参考同学代码以及询问同学。

其他(感悟、思考等)

学会了众多实现图的方法和图的解决问题的办法,在各个方法中体会到图的应用广泛,知道了图在java中的重要性。这对于之后较大型代码构建有很大启发。

posted @ 2020-12-30 12:09  Senrei  阅读(66)  评论(0编辑  收藏  举报