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

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

班级: 2023
姓名:余博雅
学号:20202311
实验教师:王志强
实验日期:2021年9月23日
必修/选修: 必修

 ##一、实验内容

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

PS:本题12分。目前没有明确指明图的顶点和连通边,如果雷同或抄袭,本次实验0分。
实验报告中要根据所编写的代码解释图的相关算法

##二、实验过程及结果
1.初始化
实验代码:使用链表实现图的输入

 码云链接:初始化 · 204e62f · 2023Java_DS/余博雅20202311. - Gitee.com

2.图的遍历

图的构建:

实验代码:

 实验结果:

码云链接:遍历 · 45ff01a · 2023Java_DS/余博雅20202311. - Gitee.com

3.拓扑排序

实验代码:

使用图:

实验结果:

 

 实验代码:拓扑排序 · e98df29 · 2023Java_DS/余博雅20202311. - Gitee.com

4、最小生成树(使用Prim算法)

图的构建:

 该图的一个最小生成树为:

实验代码:

 

 码云链接:Prim · 0be3a90 · 2023Java_DS/余博雅20202311. - Gitee.com

实验结果:

 5、最短路径

构建有权有向图:

 

 最短路径有:

实验代码:

码云链接:最短路径 · 38e79a7 · 2023Java_DS/余博雅20202311. - Gitee.com

实验结果:

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

问题1:在Prim算法时,调整边集那部分写了很久

解决思路:主要还是对这个算法不够熟悉吧,上课听着貌似还挺好懂,一到写代码就晕了

 

 

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

图真的涵盖太多东西了......最近期末考试很多时间没有安排好导致这次作业延迟提交,我一定好好反省!

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

 

 

 

 

 

 

posted @ 2021-12-22 19:40  20202311余博雅  阅读(53)  评论(0编辑  收藏  举报