图的基本知识

一:图的定义

一个图G=V,E)由定点集V和边集E组成,每一条边都是一个点对(v,w),其中v,w属于V。如果点对是有序的,那么图就叫做有向的。有向的图有时也叫做有向图。定点v,w邻接当且仅当(v,w)属于E。有时候边还有第三种成分,称为权或值。

图的一条路径是一个顶点序列W1W2W3~Wn,使得(WiWi+1)属于E,这样一条路径的长是该路径上的边数,它等于N-1.。从一个顶点到它自身可以看作是一条路径,如果路径不包含边,那么路径长为0,这是定义特殊情况的方便的方法。如果图含有一条从一个顶点到它自身的边(v,w),那么路径v,w也叫做一个环。为们讨论的图一般是无环的。

一条简单路径是这样的:其上所有顶点都是互异的,但第一个顶点和最后一个顶点可能相同。

如果一个无向图中从每一个顶点到每个其他顶点都存在一条路径,则称其为连同的。具有这样性质的有向图称为是强连通的。如果一个有向图不是强连通的,但是它的基础图,即弧上去掉方向所形成的图是连通的,那么该有向图称为是弱连通的。完全图是其每一对顶点间都存在一条边的图。

二:图的表示

我们将考虑有向图(无向图可以类似表示)

表示图的一种简单的方法是使用二维数组,称为邻接矩阵表示法。对于每一条边(u,v),我们置A[u][v]=1,否则数组元素就置0,也就是如果边存在就是1,不存在就是0,如果有权

就将权赋给A[u][v]。而使用一个很大或很小的权做为标记来表示一条不存在的边。

邻接矩阵法很简单,但是它的缺点也很明显,如果一个图的边不多的话,它太浪费空间了,因为矩阵所需要的空间是N^2。如果图的边比较多,那这是比较合适的方法。

如果图是稀疏的,更好的办法是用邻接表来表示。对每一个顶点,我们使用一个表存放所有邻接的顶点。数组表示不方便的一般都用链表代替。

邻接表是表示图的标准方法,每条边出现在俩个表中,所以此空间的使用是双倍的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值