数据结构与算法-图的邻接矩阵
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
课程:数据结构与算法实验日期:
实验名称:图的邻接矩阵
一、实验目的
掌握图的邻接矩阵
二、实验内容
必做部分
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、实现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)
在主函数调用上述函数,给出测试结果。
四、实验结果
五、实验总结
图是较线性表和树更为复杂的数据结构,图形结构中,结点之间的关系可以是任意的,图中任意两个元素之间都可能相关。
图,有许多的概念需要我们理解记忆,像在选作中的邻结点的概念就要我们理解后才能编写程序,也像无向图,我们知道无向图邻接矩阵是对称的,所以可以G.arcs[j][i].adj=G.arcs[i][j].adj ;。