数据结构与算法-图的邻接矩阵
- 格式:doc
- 大小:766.00 KB
- 文档页数:7
1
实验报告
课程: 数据结构与算法 实验日期:
实验名称: 图的邻接矩阵
一、实验目的
掌握图的邻接矩阵
二、实验内容
必做部分
1、 给出图的邻接矩阵存储结构的类型定义。
2、 实现LocateVex(G,v)操作函数:若找到顶点v,返回其在vexs数组中的下标,否则返回-1。
3、 实现算法7.2(构造无向网)。
Status CreateUDN(MGraph &G)
4、 设计并实现无向网的输出算法,要求能显示顶点以及顶点之间的邻接关系(方式自定)
5、 在主函数中调用CreateUDN创建一个无向网,并进行输出。要求给出至少两组测试数据。
选做部分
基于图的邻接矩阵存储结构(即MGraph类型)编写下述操作函数:
1、 求下标为v的顶点的第1个邻接点,返回该邻接点在顶点数组中的下标;若找不到这样的邻接点,返回-1。
int FirstAdjVex(MGraph G,int v)
2、 求下标为v的顶点相对于下标为w的顶点的下一个邻接点,返回该邻接点的下标;若找不到这样的邻接点,返回-1。
int NextAdjVex(MGraph G,int v,int w)
在主函数调用上述函数,给出测试结果。
三、实验步骤
必做部分
1、 给出图的邻接矩阵存储结构的类型定义。 2
2、 实现LocateVex(G,v)操作函数:若找到顶点v,返回其在vexs数组中的下标,否则返回-1。
3、 实现算法7.2(构造无向网)。
Status CreateUDN(MGraph &G) 3
4、 设计并实现无向网的输出算法,要求能显示顶点以及顶点之间的邻接关系(方式自定) 4
5、 在主函数中调用CreateUDN创建一个无向网,并进行输出。要求给出至少两组测试数据。
选做部分
基于图的邻接矩阵存储结构(即MGraph类型)编写下述操作函数:
1、 求下标为v的顶点的第1个邻接点,返回该邻接点在顶点数组中的下标;若找不到这样的邻接点,返回-1。
int FirstAdjVex(MGraph G,int v) 5
2、 求下标为v的顶点相对于下标为w的顶点的下一个邻接点,返回该邻接点的下标;若找不到这样的邻接点,返回-1。
int NextAdjVex(MGraph G,int v,int w)
在主函数调用上述函数,给出测试结果。
四、实验结果 6
五、实验总结
图是较线性表和树更为复杂的数据结构,图形结构中,结点之间的关系可以是任意的,图中任意两个元素之间都可能相关。
图,有许多的概念需要我们理解记忆,像在选作中的邻结点的概念就要我们理解后才能编写程序,也像无向图,我们知道无向图邻接矩阵是对称的,所以可以G.arcs[j][i].adj=G.arcs[i][j].adj ;。
7