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

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

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

必修/选修: 必修

一、实验内容

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

 

二、实验过程及结果

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

码云地址:https://e.gitee.com/besti-cs/repos/besti2023javads/lv-binghan/commit/4c02ce00364f1575190ad9f8187d66b7474a88a5

运行截图:

 

 

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

码云地址:https://e.gitee.com/besti-cs/repos/besti2023javads/lv-binghan/commit/cf99f7e30567348b794f8431e2e280ac3680f972

运行截图:

 

 

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

码云地址:https://e.gitee.com/besti-cs/repos/besti2023javads/lv-binghan/commit/10134db94c465ab928b071880e4f32c05d8b415e

运行截图:

 

输入有环的即会出错:

 

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

 这里用到了Prim算法:

码云地址:https://e.gitee.com/besti-cs/repos/besti2023javads/lv-binghan/commit/d2974071a3c71d64fabb028b43a6941083f2913c

运行截图:

 

 

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

码云地址:https://e.gitee.com/besti-cs/repos/besti2023javads/lv-binghan/commit/d95e26bd132e0ac3c805f6929c709e750637e98b

运行截图:

 

 

三. 实验过程中遇到的问题和解决过程
- 问题:各种不能正常运行
- 问题解决方案:

不能正常运行那就是代码的问题,可以上百度去查找,也可以上课本或者通过复习ppt来查找原因,反正解决问题的方法很多,然后通过多次的调试和修改,就能把程序的问题解决了。

 

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

最近没啥事,总是没有什么时间去把课上教的代码去敲一遍,说白了就是懒的问题。原理都懂,但到了实际去编程的时候,非常的不熟练,还是要多多练习,积极主动写代码!才能成为一名更加出色的程序员!



## 参考资料

-  [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)

-  [《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)
-  ...

posted @ 2021-12-22 21:07  20202319吕炳翰  阅读(34)  评论(0编辑  收藏  举报