首页 百科知识 图的定义与基本术语

图的定义与基本术语

时间:2022-10-27 百科知识 版权反馈
【摘要】:图是一种比较复杂的非线性结构。有向图的二元组表示可定义为如下形式。序列中顶点不重复的路径称为简单路径。路径长度是路径上的边的数目。在有向图G中,如果对于每一对顶点v1和v2,既有从v1到v2,也有从v2到v1的路径,则称G是强连通图。有向图中的极大强连通子图也称为有向图G的强连通分量。在图的边或弧上,标有与它们相关的数,这种与图的边或弧相关的数称为权,它表示从一个顶点到另一个顶点的距离或代价。

7.1 图的定义与基本术语

7.1.1 图的定义

图是一种比较复杂的非线性结构。在图结构中,数据元素通常称为顶点(vertex),每个顶点既可以有多个直接前驱结点,也可以有多个直接后继结点,顶点之间是“多对多”的关系,顶点与顶点间的关系用连接两个顶点的边表示。图是由顶点的集合和顶点之间的边的集合组成的,图的二元组表示可定义为以下形式。

G=(V,R)

其中,V是顶点的非空有穷集合;R是边(弧)的有穷集合。从逻辑上看,图由顶点和边组成,边反映出顶点之间的联系。

若图中所有的边都用有序偶对来表示,即图中的每条边都是有方向的,此时的图称为有向图。有向图的二元组表示可定义为如下形式。

G=(V,R)

V={x|x∈elemtype}

R={〈x,y〉|x∈V,y∈V}

其中,〈x,y〉表示从x到y的一条有向边,x为初始点,y为终端点。在有向图中,〈A,B〉和〈B,A〉是不一样的。图7-1所示的是一个有向图,图中边的方向是用从起始点指向终点的箭头表示的,该图的顶点集和边集分别如下。

V={v1,v2,v3,v4,v5,v6,v7}

R={〈v1,v2〉,〈v1,v3〉,〈v2,v4〉,〈v2,v5〉,〈v3,v6〉,〈v3,v7〉}

img301

图7-1 有向图

图中所有边都用无序偶对来表示,即图中每条边都是没有方向的。此时的图称为无向图。无向图的二元组表示可定义为如下形式。

G=(V,R)

V={x|x∈elemtype}

R={(x,y)|x∈V,y∈V}

其中,(x,y)表示x和y之间的一条边,图7-2所示的是无向图,其顶点集和边集分别如下。

V={v1,v2,v3,v4,v5,v6,v7}

R={(v1,v2),(v1,v3),(v2,v4),(v2,v5),(v3,v6),(v3,v7)}

img302

图7-2 无向图

7.1.2 基本术语

1.邻接点、相关边

如果(x,y)是无向图的一条边,则称x和y互为邻接点,称边(x,y)是顶点x和y的相关边。若〈x,y〉是有向图的一条边,则称顶点x邻接到顶点y,顶点y邻接于x,边〈x,y〉是顶点x,y的相关边,称为x的出边,y的入边。

图7-1中,边〈v2,v4〉是v2和v4的相关边,是v2的出边,v4的入边,v2邻接到v4,v4邻接于v2

图7-2中,边(v1,v2)是v1和v2的相关边,v1和v2互为邻接点。

2.简单图

若图中不存在顶点到其自身的边,并且同一条边不重复出现,则称这样的图为简单图。

3.完全图

在一个有n个顶点的无向图中,若每个顶点到其他(n-1)个顶点都连有一条边,则图中有n×(n-1)/2条边,这样的图称为无向完全图,如图7-3所示。

在一个有n个顶点的有向图中,每两个顶点之间都存在着方向相反的两条边,则称此图为有向完全图,其边数为n×(n-1),如图7-4所示。

img303

图7-3 无向完全图

img304

图7-4 有向完全图

4.稠密图、稀疏图

(1)稠密图:当一个图接近完全图时,则称它为稠密图。

(2)稀疏图:当一个图含有较少边数时,则称它为稀疏图。

5.顶点的度、入度、出度

顶点v的度是v的相关边的数目,计为TD(v)。有向图中顶点的度分为入度和出度,顶点v的入边的数目称为v的入度,记为ID(v);顶点v的出边的数目称为v的出度,记为OD(v);顶点v的度为TD(v)=ID(v)+OD(v)。

在图7-1所示的有向图中,顶点v3的入度为1,出度为2,度为3。在图7-2所示的无向图中,顶点v2的度为3。

若一个无向图中有n个顶点和e条边,则满足如下关系

img305

若一个有向图中有n个顶点和e条边,则满足如下关系

img306

6.路径、回路

图中从顶点v到顶点v′的路径是一个顶点序列v=v1,v2,…,vn=v′,序列中任意相邻的两个顶点都存在一条边。如果是有向图,则其路径也是有向的。序列中顶点不重复的路径称为简单路径。路径长度是路径上的边的数目。

如果一条路径的第一个顶点和最后一个顶点相同,则该路径称为回路,除了第一个顶点和最后一个顶点,其余顶点不重复的回路,称为简单回路。

图7-5所示的无向图中,(1,2,4,1,3,4)是条路径,(1,2,4)、(1,3,4)、(1,3,4,1)都是简单路径,其中(1,3,4,1)是简单回路。

7.子图

假设有两个图G={V,R}和G′={V′,R′},如果V′是V的子集,E′是E的子集,则称G′是G的子图。图7-6所示的是无向图G2的三个子图。

img307

图7-5 无向图

img308

图7-6 无向图G2的若干个子图

8.连通图和连通分量

在无向图G中,如果从顶点v到顶点v′有路径,则称v和v′是连通的。如果图G中任意两个顶点之间都是连通的,则称G是连通图。若无向图是非连通图,则图中极大连通子图称为连通分量。连通分量具有以下4个特点。

(1)子图:连通分量是原图的子图。

(2)连通:连通分量是连通图。

(3)极大顶点数:连通子图再加入其他顶点就不连通了。

(4)极大边数:连通子图包含依附于这些顶点的所有边。

如图7-7所示,顶点A、B、C、D相互都是连通的,所以它是连通图。

img309

图7-7 连通图

而图7-8所示为非连通图及其连通分量。

9.强连通图和强连通分量

在有向图G中,如果对于每一对顶点v1和v2,既有从v1到v2,也有从v2到v1的路径,则称G是强连通图。有向图中的极大强连通子图也称为有向图G的强连通分量。强连通分量与连通分量的概念是相同的。

图7-9所示为强连通图;而图7-10所示为非强连通图,其强连通分量分别为子图{1,2,3,4},{5}和{6}。

img310

图7-8 非连通图和连通分量

img311

图7-9 强连通图

img312

图7-10 非强连通图

10.生成树

一个图的生成树是包含图中所有顶点的极小(强)连通子图。生成树含有图中全部的n个顶点,但只能有n-1条边,顶点间都存在路径,但不存在回路。

img313

图7-11 无向图及生成树

图7-11中,图(b)和图(c),满足n个顶点n-1条边且连通的条件,它们都是图(a)的生成树。不过有n-1条边并不一定是生成树,如图(d)所示。

11.生成森林

在非连通图中,每个连通分量都对应一棵生成树,所有连通分量的生成树组成了非连通图的生成森林。

img314

图7-12 无向网

12.权、网

在图的边或弧上,标有与它们相关的数,这种与图的边或弧相关的数称为权(weight),它表示从一个顶点到另一个顶点的距离或代价。这种带权的图常称为网(network)。图7-12所示为无向网。

7.1.3 图的抽象数据类型描述

图的抽象数据类型的定义如下。

img315

操作结果:从顶点v起深度优先遍历图G。

  BFSTraverse(G,v,Visit());

操作结果:从顶点v起广度优先遍历图G。}ADTGraph

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈