数据结构——图

本文介绍了图这种数据结构的基本概念,包括顶点、边以及它们之间的关系。图可以表示多对多的关系,边分为无向和有向。文章详细阐述了图的两种主要表示形式——邻接矩阵和邻接表,其中邻接矩阵可能造成空间浪费,而邻接表则更节省空间。

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

一,什么是图

图是用来表示多对多的一种关系。

一个完整的图包含了一组顶点(通常用V来表示顶点的集合),一组边(通常用E表示边的集合,顶点实质上是顶点对,如(v,w)∈E,且边可分为无向边和有向边);一个图由非空的有限顶点集合V和一个有限边集合E组成(可以没有边集合,但一定要有顶点集合)。

边分为单向边和双向边,单向边用<v,w>表示从v指向w的边,而双向边则用(v,w)表示。

二,图的具体表现形式和相关操作集

(1)图的具体表现形式

        邻接矩阵G[x][y](x,y表示顶点的编号)

       用G[x][y]的值来表示x,y结点之间是否存在边

        G[i][j]==1时就表示i,j结点之间存在边

        G[i][j]==0则表示不存在该边

        例:

 但由于整个矩阵对角线两边对称,这样会使得空间浪费过大,那该怎么办呢?

我们可以用一个大小为n*(n+1)/2的一维向量来表示,G[0][0]用a[0]表示,G[0][1]用a[1]表示...以此类推。

(2)邻接表

可以通过指针的形式,将每个顶点与其他定点相连的顶点穿起来形成一个链表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值