数据结构与算法-图(图的存储方法1 邻接矩阵 )

本文介绍了图的存储方法之一——邻接矩阵。邻接矩阵是一种使用二维数组来表示图中顶点间边的关系的方法。在简单图中,矩阵对角线元素为0,非对角线元素表示边的存在,对于有向图,1表示有边,0表示无边,而权值图则用具体权值替换1。通过邻接矩阵,可以清晰地存储和表示图的结构,同时保持顶点间的逻辑关系。
摘要由CSDN通过智能技术生成

我们都知道线性表一对一,树是一对多,可是我们的图确是多对多,这意味着每一个结点相连接的结点数不确定,图的存储就成了问题,不过,我们的前辈们已经解决了,我们只需要领会这些伟大的成就!
今天说一说邻接矩阵,我们 都知道,每一个图结构都是由若干个结点和边组成的,合并在一起存储很有难度,那我们分开存储呗,图的结构可没主次之分,每一个顶点都是等价的,因此使用一个一维数组存储很不错,但是仔细想想,一条边需要两个顶点,描述的是两个顶点的关系,那就用个二维数组存储吧,我们用横纵两个坐标式的矩阵存储图结构,这个矩阵成为邻接矩阵,邻接矩阵的每一个值用来表示边的信息,对于有向图,用1表示有变,0表示无边,加上一位数组装着的顶点-顶点数组,图结构完美被表示出来了,这里要注意!!对角线都是0,因为我们研究的都是简单图!注意:无论是1还是0其实就是我们前面介绍的类似权,如果是带有权值的有向图,1的位置替换为这条边的权值。其实对于有向图也是类似,有向图由横指向纵,由弧,就用这条弧的权重代表,如果没有同方向的弧,用一个极大值符号无限大符号代替,如果是对角线,用0代表。完美的表示方法,将边和顶点分开表示,又不影响他们的逻辑关系。
下面看源码表示:

#define MAXN 100
bool visited[MAXN]; 
//邻接矩阵 
//表定义 
typedef struct 
{
   
	char vexs[MAXN
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值