失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 数据结构之图的存储结构:邻接矩阵法

数据结构之图的存储结构:邻接矩阵法

时间:2021-08-12 23:16:03

相关推荐

数据结构之图的存储结构:邻接矩阵法

图的存储结构:邻接矩阵法

邻接矩阵法:邻接矩阵的定义:邻接矩阵存储无向图:邻接矩阵存储有向图:邻接矩阵存储网:邻接矩阵法的性质:邻接矩阵法的代码实现:矩阵运算A的n次幂的含义:性能分析:

邻接矩阵法:

邻接矩阵的定义:

注:其实就是一个二维数组,用二维数组的值表示这俩个节点是否存在边

邻接矩阵存储无向图:

ps:无向图的矩阵必定为对称矩阵,所以可以压缩成上三角存储

邻接矩阵存储有向图:

邻接矩阵存储网:

ps:其实和存储图类似,只不过把要存储的值换成了边的权重

例:

PS:无穷的表示:#define INFINITY //int的最大值

邻接矩阵法的性质:

行:在有向图中,一个节点到另一节点的入度

列:在有向图中,一个节点到另一节点的出度

邻接矩阵法的代码实现:

//空间复杂度O(n2)#define MaxVertexTypeNum 100typedef char VertexType;//顶点的类型 typedef int EdgeType;//边的类型 typedef struct{VertexType Vex[MaxVertexTypeNum];//存放顶点的一维数组 EdgeType Edge[MaxVertexTypeNum][MaxVertexTypeNum];//存放边的二维数组 int vexnum,arcnum;//顶点个数 }MGraph;

矩阵运算A的n次幂的含义:

例:

第一个11表示从B到E的一条路径

第二个11表示从B到E的另一条路径

结论:An[i][j] 表示从顶点Vi到顶点Vj长度为n的路径的条数

性能分析:

空间复杂度:O(|v|^2)

如果觉得《数据结构之图的存储结构:邻接矩阵法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。