6-2图-邻接矩阵

邻接矩阵

一.基本概念
(1)1表示有边,0表示无边
(2)先行后列
图中红框表示A指向B之间的边(无向图表示AB之间的边)
(3.1)无向图
B的度=3
第2行非0元素个数
或:第2列非0元素的个数
故:第i个结点的度 = 第i行(或第i列)的非零元素个数
(3.2)有向图
行表示出度,列表示入度
B的出度3(B→A、B→E、B→F)
B的入度3
B的度6
故:
第i个结点的出度 = 第i行的非零元素个数
第i个结点的入度 = 第i列的非零元素个数
第i个结点的度 = 第i行、第i列的非零元素个数之和

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(4)邻接矩阵的实现

#define MaxVertexNum 100//顶点数目最大值
typedef struct {
	char Vex[MaxVertexNum];//顶点表
	int Edge[MaxVertexNum][MaxVertexNum];//邻接矩阵,边表
	int vexnum, arcnum;//图的当前顶点数和边数/弧数
}MGraph;

二.邻接矩阵法存储带权图(网)
(1)数值表示行到列弧的权值(无向图表示边的权值)
∞表示不存在与之相邻的边
在这里插入图片描述

在这里插入图片描述
(2)图的邻接矩阵存储结构定义

#define MaxVertexNum 100//顶点数目最大值
typedef char VertexType;//顶点的数据类型
typedef int EdgeType;//带权图中边上的数据类型
typedef struct {
	VertexType Vex[MaxVertexNum];//顶点
	EdgeType Edge[MaxVertexNum][MaxVertexNum];//边的权
	int vexnum, arcnum;//图的当前顶点数和边数/弧数
}MGraph;

(3)有时候将自己指向自己的∞写为0
在这里插入图片描述
(4)空间复杂度O(|V|²)
只和顶点数相关,与边无关
(5)性质
适合存储稠密图
无向图的邻接矩阵的对称矩阵,可以压缩存储
(5.1)邻接矩阵A
在这里插入图片描述
A^n[i][j]等于由顶点i到顶点j的长度为n的路径的数目

例如:A² [1][4]=左边矩阵第1行*右边矩阵第4列 =1
即:由顶点A到顶点D长度为2的路径数目为1

n=3则三次相乘,其他同理
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡__卡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值