邻接矩阵c语言实现讲解

本文详细介绍了图的存储结构之一的邻接矩阵,包括其定义、实现方式以及与邻接表的区别。邻接矩阵通过二维数组表示节点间的连接关系,适用于密集图。文章对比了两种存储结构在节点关系表达上的不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图的存储结构之邻接矩阵

#define INFINTE 65535
#define MAXSIZE 100

typedef char VertexType;                //顶点类型应由用户定义
typedef int EdgeType;                   //边上的权值类型应由用户定义

typedef struct graph{
    VertexType vexs[MAXSIZE];            //顶点表
    EdgeType   arc[MAXSIZE][MAXSIZE];       //邻接矩阵
    int numNodes, numEdges;
}Graph;
  • 顶点表存储每个节点保存的数据
  • 邻接矩阵中每个元素arc[i][j]表示i与j之间的权值,或者表示i与j是否连通

邻接矩阵与邻接表比较

相同点:都需要保存节点数据,节点之间的权值,以及图中的节点数边数这四个重要数据

不同点:在表达两个节点之间关系的方式不同。邻接表是通过一维数组链表,邻接矩阵是通过二维数组

邻接表实现讲解:

https://blog.youkuaiyun.com/ASCIIdragon/article/details/84635236

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值