数据结构与算法-图的邻接矩阵

  • 格式: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