编写程序实现采用用一个邻接矩阵阵表示法创建无向图

本章介绍用一个邻接矩阵阵无向圖在""中已经对图进行了理论介绍,这里就不再对图的概念进行重复说明了和以往一样,本文会先给出C语言的实现;后续再分别给出C++和Java蝂本的实现实现的语言虽不同,但是原理如出一辙选择其中之一进行了解即可。若文章有错误或不足的地方请不吝指出!

用一个邻接矩阵阵无向图是指通过用一个邻接矩阵阵表示的无向图。

上图右边的矩阵是G1在内存中的用一个邻接矩阵阵示意图A[i][j]=1表示第i个顶点与第j个頂点是邻接点,A[i][j]=0则表示它们不是邻接点;而A[i][j]表示的是第i行第j列的值;例如A[1,2]=1,表示第1个顶点(即顶点B)和第2个顶点(C)是邻接点

用一个邻接矩阵陣无向图的代码说明

这里介绍提供了两个创建矩阵的方法。一个是用已知数据另一个则需要用户手动输入数据

2.1 创建图(用已提供的矩阵)

* 創建图(用已提供的矩阵) // 输入"顶点数"和"边数" // 初始化"顶点数"和"边数" // 读取边的起始顶点和结束顶点

注意:该方法创建的无向图就是上面图G1。

2.2 创建图(自己输入)

* 创建图(用已提供的矩阵) // 输入"顶点数"和"边数" // 初始化"顶点数"和"边数" // 读取边的起始顶点和结束顶点

create_graph()是读取用户的输入将输入的数據转换成对应的无向图。

用一个邻接矩阵阵无向图的完整源码

* 创建图(自己输入)

* 创建图(用已提供的矩阵)


}
功能是将用一个邻接矩阵阵或关聯矩阵变为网络图不过这里只能转换为无向拓扑图 %A为用一个邻接矩阵阵或关联矩阵 %flag=1时处理用一个邻接矩阵阵---用一个邻接矩阵阵,行列都為节点数表征各节点间是否相连,主对角线元素为0; %flag=2时处理关联矩阵---关联矩阵行数为节点数,列为边数表征节点与边是否连接; for i=1:h %使產生的随机点有其范围,使显示分布的更广
}

1.输入总顶点数和总边数
2.依次输入點的信息存入顶点表中是每个表头结点的指针域初始化为NULL
3.创建邻接表。依次输入每条边依附的两个顶点确定这两个顶点的序号i和j之后,将此边结点分别插入Vi和Vj对应的两个边链`表头部

//采用邻接表表示法,创建无向图G cout << "请输入总顶点数总边数中间已空格隔开:" ; //输出总顶点數,总边数
}

我要回帖

更多关于 用一个邻接矩阵 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信