数据结构之图的存储结构:邻接矩阵法
图的存储结构:邻接矩阵法
- 邻接矩阵法:
- 邻接矩阵的定义:
- 邻接矩阵存储无向图:
- 邻接矩阵存储有向图:
- 邻接矩阵存储网:
- 邻接矩阵法的性质:
- 邻接矩阵法的代码实现:
- 矩阵运算A的n次幂的含义:
- 性能分析:
邻接矩阵法:
邻接矩阵的定义:
注: 其实就是一个二维数组,用二维数组的值表示这俩个节点是否存在边
邻接矩阵存储无向图:
ps: 无向图的矩阵必定为对称矩阵,所以可以压缩成上三角存储
邻接矩阵存储有向图:
邻接矩阵存储网:
ps: 其实和存储图类似,只不过把要存储的值换成了边的权重
例:
PS: 无穷的表示:#define INFINITY //int的最大值
邻接矩阵法的性质:
行: 在有向图中,一个节点到另一节点的入度
列: 在有向图中,一个节点到另一节点的出度
邻接矩阵法的代码实现:
//空间复杂度O(n2)
#define MaxVertexTypeNum 100
typedef 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)
数据结构之图的存储结构:邻接矩阵法相关推荐
- 【数据结构】图的存储结构—邻接表
目录 什么是邻接表? 邻接表:定义 邻接表:相关类 邻接表:基本操作 1)创建无向网 2)创建有向网 3)顶点定位 4)插入边 5)第一个邻接点 6)查询下一个邻接点 小试牛刀 对比邻接表与邻接矩阵
- 图的存储结构——邻接表法
图的存储结构--邻接表法 一.邻接表 由顶点表和边表构成,顶点表由顶点域(data)和指向第一条邻接边的指针(firstarc)构成,边表(邻接表)结点由邻接点域(adjvex)和指向下一条邻接边 ...
- 【数据结构】图的存储结构(邻接矩阵、邻接表、十字链表、邻接多重表)及实现(C语言)
目录 1. 邻接矩阵表示法 1.1 图的邻接矩阵 1.2 创建有向网的邻接矩阵 2. 邻接表表示法 2.1 图的邻接表存储结构 2.2 创建有向图的邻接表 3. 十字链表表示法 3.1 图的十字链表存 ...
- 数据结构之图的存储结构:邻接多重表
图的存储结构:邻接多重表 产生条件: 邻接多重表的定义: 邻接多重表的代码定义: 删除: 性能分析: 十字链表与邻接多重表的对比 产生条件: 当用邻接矩阵法存储时:空间复杂度为O(|V|^2),太大 ...
- 数据结构之图的存储结构:邻接表法
图的存储结构:邻接表法 产生条件: 邻接表法的定义: 邻接表法的特点: 邻接表法的代码定义: 邻接表法与邻接矩阵法的对比: 产生条件: 当用邻接矩阵存储时:空间复杂度为O(|v|^2),太大 邻接表法 ...
- 数据结构之图的存储结构二及其实现
上一节我们讲述了邻接矩阵法实现图,本节再来讲述一下邻接链表法实现图. 邻接链表 邻接表是图的一种链式存储结构.在邻接表中,对图中的每个顶点建立一个单链表,第i个单链表中的结点表示依附于顶点vi边(对有 ...
- 数据结构之图的存储结构:十字链表法
图的存储结构:十字链表法 思维导图: 产生条件: 十字链表法的定义: 十字链表法的代码定义: 性能分析: 思维导图: 产生条件: 当用邻接矩阵存储时:空间复杂度为O(|v|^2),太大 当用邻接表法存 ...
- 数据结构之图的存储结构一及其实现
图的存储结构 由于图的结构比较复杂,任意两个顶点之间都可能存在联系,因此无法以数据元素在存储区中的物理位置来表示元素之间的关系,即图没有顺序映像的存储结构,但可以借助数组的数据类型表示元素之间的关系. ...
- [转]数据结构:图的存储结构之邻接多重表
1.引言: 若要删除左边的(V0,V2)这条边,需要对图下表的阴影两个结点进行删除操作. 2.邻接多重表的存储结构: iVex和jVex:是与某条边依附的两个顶点在顶点表中的下标. iLink:指向依 ...
最新文章
- 成都Uber优步司机奖励政策(1月9日)
- 异常数据(outlier data)处理基于分位数法(箱图法、箱型法)替换及删除方案
- 简易无线电能接收方法
- UOJ#37. 【清华集训2014】主旋律
- ListView使用BaseAdapter与ListView的优化
- 轴系ansys命令流建模
- 淘宝API如何获取商品详情信息|sku|价格|店铺|优惠券|运费信息,淘宝商品详情API接口
- 《东周列国志》第八十三回 诛芈胜叶公定楚 灭夫差越王称霸
- elementui实现横向时间轴_element ui step组件在另一侧加时间轴显示
- LCP 03. 机器人大冒险-力扣双百代码
- 实用的Word文档翻译方法分享,让Word文档快速翻译
- web前端技术社区分享
- Python与C++语法比较--字符串篇
- Java使用aopse实现word转换pdf
- [Effective C++ --014]在资源管理类中小心copying行为
- VM安装CentOS虚拟机详细教程
- python SM2明文密码加解密
- skype安卓手机版_安卓:街机游戏大全~手机版
- java我的世界w_Minecraft我的世界Java版19w02a已发布
- [个人记录]半月板撕裂及SLAP损伤
热门文章
- oracle资产负债表重分类吗,【好会计】讲讲资产负债表中的重分类!
- python2.7.15安装步骤_升级到python2.7.15后安装pip
- css就近原则_细品100道CSS知识点(上)「干货满满」
- python中调用C++函数
- STM32-----找个搬砖的搬数据
- latex word相互转换
- M1 macbook值得购买吗?关于M1芯片macbook的三点购买建议
- cad在布局怎么调比例_大神们都在用的9个CAD制图技巧,你会用几个?
- python使用协程实现udp_python-socket和进程线程协程(代码展示)
- nuxt解决首屏加载慢问题_如何解决百度云盘下载速度慢的问题