数据结构–图(一)(图的存储结构)

本文介绍了图的抽象数据类型,包括节点集合和边集合以及初始化、插入/删除操作。接着详细讨论了图的两种存储结构——邻接矩阵和邻接表,分别适合于稠密图和稀疏图。邻接矩阵通过二维数组存储边信息,而邻接表使用链式结构存储,每个顶点包含数据信息和邻接点链表。最后提到了邻接矩阵图类的设计。
摘要由CSDN通过智能技术生成

(一)图的抽象数据类型

数据类型是指一个类型和定义在这个类型上的操作集合(如整型和加减乘除等操作),抽象数据类型是指一个逻辑概念上的类型和这个类型上的操作集合。

数据集合:由节点集合和边集合组成。
操作集合:初始化、插入/删除节点/边、寻找邻接节点

(二)图的存储结构

图要存储的信息包括:节点信息+描述节点间关系的边的信息
节点信息的描述实际是一个线性表的存储问题
边信息描述实际是一个(n*n)矩阵在计算机内的存储问题
按照边的存储方式,分为图的存储分为邻接矩阵存储和邻接表存储

邻接矩阵存储

节点采用一维数组存储;边信息的邻接矩阵采用二维数组存储。

邻接矩阵存储适用于稠密矩阵

邻接表存储

图的一种链式存储结构
图中顶点采用一维数组存储,顶点数组中的数据元素除了存储节点信息,还要存储该顶点的第一个邻接点的指针,便于查找该顶点的边信息。即,每个顶点由data域、adj域两部分组成,data域存储节点信息,adj域存储该顶点的邻接顶点链表的头指针。
图中边采用链表存储。对图中每个顶点vi建立一个单链表,第i个单链表中的各个结点表示依附于顶点vi的边。每个结点由vex域、wei域、以及next域组成,vex域存储与起始顶点vi相连的邻接顶点vj在顶点数组中的下标序号;wei域存储两个顶点之间边的权值;next存储下一个邻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值